`
zhao1659
  • 浏览: 7066 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Sql学习:inner join

 
阅读更多


之前一直不在熟悉sql语句。今天刚好碰到sql的问题。关于inner join 跟普通的where条件语句的差别。

我以前都这样写Sql:

select * from A, B where A.id=1; 

 
这样写具体执行的时候,数据库会先根据

select * from A, B

 来获取A跟B的笛卡尔积的集合,然后再通过

where A.id=1

 来过滤这个集合。

假如用了inner join的话:

select * from A inner join B on A.name=B.name where A.id=1; 

 

这样的话,数据库首先会去找符合

A.name=B.name

 的记录,组成一个集合,然后再通过A.id来过滤出结果。

这样写效率就高了,以前没注意过。

inner join语句也可以写成这样:

select * from A,B where A.name=B.name and A.id=1; 

  2.多张表的连接:

select * from (A join B on A.name=B.name) inner join C on A.userId=B.userId

 

分享到:
评论

相关推荐

    【SQL】在sql server中 delete时 使用INNER JOIN

    ### SQL Server 中 DELETE 语句结合 INNER JOIN 的应用 #### 背景介绍 在数据库管理与维护过程中,经常会遇到需要删除表中的某些记录的情况。简单地使用 `DELETE` 语句可以删除单个表中的数据,但在多表关联的情况...

    关于SQL 中的inner join的使用

    ### SQL中的INNER JOIN详解 #### 一、INNER JOIN的基本概念 **INNER JOIN** 是SQL中最常用的连接类型之一,主要用于从两个或多个表中提取数据,其中仅返回那些满足连接条件的记录。简单来说,INNER JOIN返回的是两...

    sql的 INNER JOIN 语法

    ### SQL的INNER JOIN语法 #### 一、概念与作用 在SQL语言中,`INNER JOIN`是一种连接(Join)操作,用于从两个或多个表中提取数据,仅返回那些匹配的记录。简单来说,它会查找两个表中具有共同属性(如相同的键值...

    SQL语句left join/right join/inner join 的用法比较

    INNER JOIN的SQL语句如下: ```sql SELECT * FROM A INNER JOIN B ON A.aID = B.bID ``` 在这种情况下,结果集中只包含A表和B表中aID与bID匹配的记录,没有匹配项的记录不会出现在结果中。 总结一下,LEFT JOIN和...

    inner join、 left join 、right join、 outer join之间的区别

    ### inner join、left join、right join、outer join之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...

    SQL中的left outer join,inner join,right outer join用法详解

    * INNER JOIN:仅对满足连接条件的 CROSS 中的列。 * LEFT OUTER JOIN:一个表满足条件的行,和另一个表的所有行。 * RIGHT OUTER JOIN:与 LEFT 相同,但两个表的角色互换。 * FULL OUTER JOIN:LEFT OUTER 和 ...

    sql join( inner join, outer join) 分析

    综上所述,理解并熟练运用INNER JOIN和OUTER JOIN是提升SQL查询能力的关键步骤。在实际工作中,根据需求选择合适的JOIN类型,能帮助我们更高效地处理多表数据,从而提高数据处理的效率和准确性。《数据库表连接和...

    SqlServer中Group By高级使用--Inner Join分组统计

    今天我们将深入探讨如何在SQL Server中使用Group By与Inner Join结合来实现更复杂的分组统计。 首先,理解Group By的基本用法至关重要。Group By语句将结果集按照一个或多个列进行分组,这样我们可以对每个组应用...

    SQL语句inner join,left join ,right join连接的不同之处

    在SQL语言中,连接(Join)操作是一种非常重要的数据整合方式,主要用于从两个或多个表中提取数据。根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)...

    关于sql的left join,right join,inner join,outerjoin

    总之,LEFT JOIN、RIGHT JOIN、INNER JOIN和OUTER JOIN是SQL语言中的核心部分,理解和熟练运用它们对于任何数据库开发人员都至关重要。通过不断的实践和学习,你可以更好地掌握这些JOIN类型,并在解决复杂数据查询...

    SQL学习:10分钟学会SQL

    - **JOIN**: 结合两个或多个表的数据,如INNER JOIN、LEFT JOIN、RIGHT JOIN等。 - **DISTINCT**: 用于去除查询结果中的重复行。 **6. 删除数据** - **DELETE FROM**: 删除表中的记录。 - **DROP TABLE**: 删除整个...

    SQL联合查询inner join、outer join和cross join的区别详解

    对于开发使用到数据库的应用,免不了就要使用联合查询,SQL中常用的联合查询有inner join、outer join和cross join;这三者的区别很多人都应该不是很清楚,包括我自己,下面我们一起来看看,如果你使用join连表,...

    SQL中inner join、outer join和cross join的区别

    根据不同的连接方式,`JOIN`可以分为几种类型,包括`INNER JOIN`、`OUTER JOIN`(左外联接`LEFT JOIN`、右外联接`RIGHT JOIN`以及全外联接`FULL JOIN`)和`CROSS JOIN`。每种类型的`JOIN`都有其独特的应用场景和特点。...

    MySQL中视图的使用及多表INNER JOIN的技巧分享

    INNER JOIN table2 t2 ON t1.fid = t2.fid) INNER JOIN table3 t3 ON t1.mid = t3.mid; 这里使用了3表关联,对于多表关联的 INNER JOIN 写法有一个技巧 1. 先写最简单的2表关联 INNER JOIN 2. 然后使用 () 从 FROM ...

    (Left join , Right Join, Inner Join)用法详解

    ### (Left join , Right Join, Inner Join)用法详解 #### 一、基本概念与应用场景 在数据库查询语言SQL中,连接(Join)是一种非常重要的操作,它允许我们结合两个或多个表的数据来检索信息。根据不同的连接方式,...

    GBase 8s SQL 指南:教程

    - **联接(JOIN)**:GBase 8s支持多种类型的JOIN操作,如内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN、FULL JOIN)等,用于合并多个表的数据。 - **子查询**:在SQL语句中嵌套另一个查询,用于复杂的...

    MySQL JOIN 语法说明与 INNER JOIN 语法用法实例.docx

    本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...

    join on 语句及扩展

    1. INNER JOIN: INNER JOIN返回两个表中匹配的记录。这意味着如果某个记录在其中一个表中没有对应的匹配项,那么这个记录就不会出现在结果集中。基本语法如下: ```sql SELECT columns FROM table1 INNER JOIN table...

Global site tag (gtag.js) - Google Analytics