SQL 连接(JOIN)
💉SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
1、SQL INNER JION (内链接)
INNER JOIN 关键字在表中存在至少一个匹配时返回行。
🍧格式:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
或者
JOIN 默认 INNER JOIN
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;
注意
column_name:表中用于连接的列名。
注意
INNER JOIN 关键字在表中存在至少一个匹配时返回行。
2、LEFT JOIN (左链接)
LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。
🍧格式:
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
注意
LEFT JOIN 关键字从左表返回所有的行,即使右表中没有匹配。
3、RIGHT JOIN (右链接)
RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。
🍧格式:
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
或者
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;
注意
RIGHT JOIN 关键字从右表返回所有的行,即使左表中没有匹配。
4、FULL OUTER JOIN (全连接)
FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.
FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。
🍧格式:
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;
注意
FULL OUTER JOIN 关键字返回左表和右表中所有的行。即使没有匹配相关,依然会返回。