SQL JOIN 子句用于把来自两个或多个表的行结合起来, 基于这些表之间的共同字段.
最常见的 JOIN 类型: SQL INNER JOIN(简单的 JOIN). SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行.
不同的 SQL JOIN
在我们继续讲解实例之前, 我们先列出您可以使用的不同的 SQL JOIN 类型:
INNER JOIN: 如果表中有至少一个匹配, 则返回行
LEFT JOIN: 即使右表中没有匹配, 也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配, 也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配, 则返回行
- 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)
首先, 连接的结果可以在逻辑上看作是由 SELECT 语句指定的列组成的新表.
左连接与右连接的左右指的是以两张表中的哪一张为基准, 它们都是外连接.
外连接就好像是为非基准表添加了一行全为空值的万能行, 用来与基准表中找不到匹配的行进行匹配. 假设两个没有空值的表进行左连接, 左表是基准表, 左表的所有行都出现在结果中, 右表则可能因为无法与基准表匹配而出现是空值的字段.
**********************************************************************************************************************************************************************************************************************
INNER JOIN 关键字在表中存在至少一个匹配时返回行.
SQL INNER JOIN 语法
- SELECT column_name(s)
- FROM table1
- INNER JOIN table2
- ON table1.column_name=table2.column_name;
或:
- SELECT column_name(s)
- FROM table1
- JOIN table2
- ON table1.column_name=table2.column_name;
注释: INNER JOIN 与 JOIN 是相同的.
来源: http://www.bubuko.com/infodetail-2848733.html