oracle 和left join的区别
发布网友
发布时间:2022-04-26 20:15
我来回答
共1个回答
热心网友
时间:2022-04-12 21:02
sql左连接与left join是一个意思。
用数据举例比较容易理解:
如:表1中有数据
班级id 班级名称
1 一班
2 二班
表2:
学生id 学生姓名 所属班级id
1 张三 1
2 李四 1
如果查询每个班级总人数,不用左连接
select a.班级名称,sum(case when a.班级id=b.所属班级id then 1 else 0 end) 人数 from 表1 a,表2 b where a.班级id=b.所属班级id group by a.班级名称
此时结果:
班级名称 人数
一班 2
如果用左连接
select a.班级名称,sum(case when a.班级id=b.所属班级id then 1 else 0 end) 人数 from 表1 a left join 表2 b on a.班级id=b.所属班级id group by a.班级名称
此时结果:
班级名称 人数
一班 2
二班 0
所以左连接就是以左表为基准,来显示全部数据,而不用左连接则只显示能关联上的数据。