之前一直不在熟悉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 Server 中 DELETE 语句结合 INNER JOIN 的应用 #### 背景介绍 在数据库管理与维护过程中,经常会遇到需要删除表中的某些记录的情况。简单地使用 `DELETE` 语句可以删除单个表中的数据,但在多表关联的情况...
### SQL中的INNER JOIN详解 #### 一、INNER JOIN的基本概念 **INNER JOIN** 是SQL中最常用的连接类型之一,主要用于从两个或多个表中提取数据,其中仅返回那些满足连接条件的记录。简单来说,INNER JOIN返回的是两...
### SQL的INNER JOIN语法 #### 一、概念与作用 在SQL语言中,`INNER JOIN`是一种连接(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之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...
* INNER JOIN:仅对满足连接条件的 CROSS 中的列。 * LEFT OUTER JOIN:一个表满足条件的行,和另一个表的所有行。 * RIGHT OUTER JOIN:与 LEFT 相同,但两个表的角色互换。 * FULL OUTER JOIN:LEFT OUTER 和 ...
综上所述,理解并熟练运用INNER JOIN和OUTER JOIN是提升SQL查询能力的关键步骤。在实际工作中,根据需求选择合适的JOIN类型,能帮助我们更高效地处理多表数据,从而提高数据处理的效率和准确性。《数据库表连接和...
今天我们将深入探讨如何在SQL Server中使用Group By与Inner Join结合来实现更复杂的分组统计。 首先,理解Group By的基本用法至关重要。Group By语句将结果集按照一个或多个列进行分组,这样我们可以对每个组应用...
在SQL语言中,连接(Join)操作是一种非常重要的数据整合方式,主要用于从两个或多个表中提取数据。根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)...
总之,LEFT JOIN、RIGHT JOIN、INNER JOIN和OUTER JOIN是SQL语言中的核心部分,理解和熟练运用它们对于任何数据库开发人员都至关重要。通过不断的实践和学习,你可以更好地掌握这些JOIN类型,并在解决复杂数据查询...
- **JOIN**: 结合两个或多个表的数据,如INNER JOIN、LEFT JOIN、RIGHT JOIN等。 - **DISTINCT**: 用于去除查询结果中的重复行。 **6. 删除数据** - **DELETE FROM**: 删除表中的记录。 - **DROP TABLE**: 删除整个...
对于开发使用到数据库的应用,免不了就要使用联合查询,SQL中常用的联合查询有inner join、outer join和cross join;这三者的区别很多人都应该不是很清楚,包括我自己,下面我们一起来看看,如果你使用join连表,...
根据不同的连接方式,`JOIN`可以分为几种类型,包括`INNER JOIN`、`OUTER JOIN`(左外联接`LEFT JOIN`、右外联接`RIGHT JOIN`以及全外联接`FULL JOIN`)和`CROSS JOIN`。每种类型的`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)用法详解 #### 一、基本概念与应用场景 在数据库查询语言SQL中,连接(Join)是一种非常重要的操作,它允许我们结合两个或多个表的数据来检索信息。根据不同的连接方式,...
- **联接(JOIN)**:GBase 8s支持多种类型的JOIN操作,如内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN、FULL JOIN)等,用于合并多个表的数据。 - **子查询**:在SQL语句中嵌套另一个查询,用于复杂的...
本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...
1. INNER JOIN: INNER JOIN返回两个表中匹配的记录。这意味着如果某个记录在其中一个表中没有对应的匹配项,那么这个记录就不会出现在结果集中。基本语法如下: ```sql SELECT columns FROM table1 INNER JOIN table...