连接(JOIN)

 join 用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。

INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。

  • INNER JOIN:如果表中有至少一个匹配,则返回行
  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN:只要其中一个表中存在匹配,则返回行

连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表。

左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。

外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。

得到的结果数:

inner join <= min(left join, right join)
full join >= max(left join, right join)
 inner join < min(left join, right join) 时, full join > max(left join, right join)

 

 
posted @ 2019-07-26 10:57  寒冰射手(电脑)  阅读(150)  评论(0)    收藏  举报