SQL中INNER JOIN和OUTER JOIN的区别
技术背景
在数据库操作中,经常需要从多个表中获取相关的数据。SQL 提供了多种连接(JOIN)操作,其中 INNER JOIN 和 OUTER JOIN 是常用的连接方式。理解它们的区别对于正确地从多个表中提取所需数据至关重要。
实现步骤
INNER JOIN
INNER JOIN 只返回两个表中满足连接条件的行,也就是两个表的交集部分。其基本语法如下:
SELECT * FROM table1
INNER JOIN table2
ON table1.column = table2.column;
示例:假设有两个表 A 和 B,数据如下:
A B
- -
1 3
2 4
3 5
4 6
使用 INNER JOIN 查询:
SELECT * FROM A INNER JOIN B ON A.A = B.B;
结果为:
a | b
--+--
3 | 3
4 | 4
OUTER JOIN
OUTER JOIN 分为 LEFT OUTER JOIN、RIGHT OUTER JOIN 和 FULL OUTER JOIN。
LEFT OUTER JOIN
LEFT OUTER JOIN 返回左表中的所有行,以及右表中匹配的行。如果右表中没有匹配的行,则右表的列显示为 NULL。语法如下:
SELECT * FROM table1