SQL 07: 外连接 (左连接和右连接查询)

以学生系统为例

1.  获得学生档案, 并且也显示没有档案的学生

如果使用内连接(不满足条件):

select * from student s, studentfile sf where s.id = sf.student_id; 

 如果使用外连接(左连接): 

select * from student s left join studentfile sf on s.id = sf.student_id; 

可以将s视为左表, sf视为右表, 左连接将保留左表里的所有数据, 即使没有与右表对应的数据

2.  更新"studentfile"表, 加入一条不属于任何学生的档案

 <1>执行 select * from student s left join studentfile sf on s.id = sf.student_id; 不明档案会被略去 

<2>使用右连接, 保留右表的所有数据

select * from student s right join studentfile sf on s.id = sf.student_id;

原文地址:https://www.cnblogs.com/JasperZhao/p/13452930.html