第一个是外部连接。这说明从表格中的行即使表B中没有匹配的行假设表包含以下数据:
select a.name, a.sector_id from tb_industry a;
name sector_id
---- ---------
A 1
B 2
C 3
Select b.id, b.name from tb_sector b;
id name
-- ----
1 X
2 Y
(注意,没有tb_sector一行ID 3。)
外连接仍返回从表格中的所有行,与值空值应该有来自表B:
select a.name, a.sector_id, b.name as sector_name
from tb_industry a left outer join tb_sector b on a.sector_id = b.id;
name sector_id sector_name
---- --------- -----------
A 1 X
B 2 Y
C 3
其他查询(内部连接)忽略了不匹配的行:
select a.name, a.sector_id, b.name as sector_name
from tb_industry , tb_sector b where a.sector_id = b.id;
name sector_id sector_name
---- --------- -----------
A 1 X
B 2 Y
以下查询也是一个内连接,使用较新的ANSI联接语法:
select a.name, a.sector_id, b.name as sector_name
from tb_industry a
join tb_sector b on a.sector_id = b.id;
name sector_id sector_name
---- --------- -----------
A 1 X
B 2 Y
如果没有OUTER关键字,则联接是内部联接。