sql常用关键字


INNER JOIN 关键字

内连接,又叫等值连接,只返回两个表中连接字段相等的行。

简单理解:只返回匹配的行,没有匹配的行则不返回。没有主表的概念。

注释:INNER JOIN 与 JOIN 是相同的。

 在 INNER JOIN 中条件放在 on 中和 where 中,返回的结果集是相同的。

LEFT JOIN 关键字

即使右表中没有匹配,也从左表返回所有的行。

简单理解:以左表为主表,查询该表所有的数据;其次是查右表,如果右表中没有匹配,则结果用NULL来填充。

  • RIGHT JOIN 则是即使左表中没有匹配,也从右表返回所有的行

注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。而 RIGHT JOIN 称为 RIGHT OUTER JOIN。

ON 关键字 

数据库在通过连接 (join) 两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。

在使用 left jion 时,格式:【表1 left jion 表2  on  连接条件  where 过滤条件】,on 和 where 条件的区别如下:

1、 on 条件是在生成临时表时使用的条件,它不管 on 中的条件是否为真,都会返回左边表中的记录。

2、where 条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有 left join 的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

记住:所有的外连接条件都必需要放在ON后面,不然前面的所有LEFT,和RIGHT关联将作为摆设,而不起任何作用。(会报语法错误)

SQL