left join 和多表查询的区别
程序员文章站
2022-07-13 07:59:20
...
left join和 多表查询
left join 所有的工作以left为准 以mark为准,所以
1 如果mark中有空,那么就会显示一条空记录
2 如果mark中有一条记录在stu中找不到,同样这条记录也会显示出来
select * from mark t,stu s where t.stu_id=s.id
select * from mark t left join stu s on t.stu_id=s.id
例如
mark
id stu_id mark
1 1 79
2 1 66
4 2 68
stu
id name
1 yang
2 liu
3 lv
此时查询出来的记录是一样的
id stu_id mark id1 name
1 1 79 1 yang
2 1 66 1 yang
4 2 68 2 liu
如果第一个表加入记录
3 空 22
5 4 55
那么left join的结果变成
id stu_id mark id1 name
1 1 79 1 yang
2 1 66 1 yang
4 2 68 2 liu
3 空 22 空 空
5 4 55 空 空
left join 所有的工作以left为准 以mark为准,所以
1 如果mark中有空,那么就会显示一条空记录
2 如果mark中有一条记录在stu中找不到,同样这条记录也会显示出来
select * from mark t,stu s where t.stu_id=s.id
select * from mark t left join stu s on t.stu_id=s.id
例如
mark
id stu_id mark
1 1 79
2 1 66
4 2 68
stu
id name
1 yang
2 liu
3 lv
此时查询出来的记录是一样的
id stu_id mark id1 name
1 1 79 1 yang
2 1 66 1 yang
4 2 68 2 liu
如果第一个表加入记录
3 空 22
5 4 55
那么left join的结果变成
id stu_id mark id1 name
1 1 79 1 yang
2 1 66 1 yang
4 2 68 2 liu
3 空 22 空 空
5 4 55 空 空
推荐阅读
-
详解Node.js中path模块的resolve()和join()方法的区别
-
sql中的left join以及on、where关键字的区别
-
关于Sequelize连接查询时inlude中model和association的区别详解
-
oracle中left join和right join的区别浅谈
-
sql中的left join及on、where条件关键字的区别详解
-
深入Oracle的left join中on和where的区别详解
-
sqlserver和oracle中对datetime进行条件查询的一点区别小结
-
数据库中的左连接(left join)和右连接(right join)区别
-
sql 左连接和右连接的使用技巧(left join and right join)
-
MySQL查询条件中放置on和where的区别分析