干货 | SQL 外部联接 Outer Join
在SQL中,外部联接允许我们在查询结果中包含那些在另一个表中没有匹配行的行。外部联接分为左外联接(LEFT OUTER JOIN)、右外联接(RIGHT OUTER JOIN)和全外联接(FULL OUTER JOIN)。
左外联接(LEFT OUTER JOIN)会返回左表的所有行,即使右表中没有匹配的行。右表中的列将包含NULL。
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name;
右外联接(RIGHT OUTER JOIN)会返回右表的所有行,即使左表中没有匹配的行。左表中的列将包含NULL。
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name = table2.column_name;
全外联接(FULL OUTER JOIN)会返回两个表中的所有行,其中一边没有匹配时,另一边的列将包含NULL。
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
注意:并非所有的数据库系统都支持FULL OUTER JOIN,有些数据库需要使用UNION来模拟FULL OUTER JOIN的行为。
评论已关闭