详解数据库中内连接和外连接
一,示例表:
表A: 表B:
1,内连接:只有两个表相匹配的行才能在结果集中出现
select A.*,B.* from A inner join B on A.id = B.id
输出是:
2,外连接
(1)左外连接(也可称为左连接,左边的记录全部显示,右边符合条件的记录显示)
(2)右外连接(也可称为右连接,右边的记录全部显示,左边符合条件的记录显示)
(3)全外连接(也可称为全连接,左右两边都显示,笛卡尔积形式显示)
如下,左外连接sql语句:
select A.*,B.* from A left join B on A.id = B.id
左外连接输出结果:
右外连接sql语句:
select A.*,B.* from A right join B on A.id = B.id
右外连接输出结果:
全外连接sql语句:
select A.*,B.* from A full join B on A.id = B.id
全外连接输出结果:
(4)自连接:就是表A外连接表A。
数据库表C,记录泰安市各县级市信息:
现在用sql语句显示:单位编码 单位名称 上级单位名称
此时需要自连接,sql语句如下:
select t1.单位编码,t1.单位名称,t2.单位名称 from C t1 left join C t2 on t1.上级单位编码 = t2.单位编码
显示结果如下:
二,赶集网的某个数据库试题
sql语句:
select B.Name from A right join B on A.Id = B.Id where A.Id is null
输出结果: