sql中left join后用on还是where

转载自:https://blog.csdn.net/wf824284257/article/details/74496279

背景

博主开始实习工作后的第一个任务是做一个报表,要求从数据库中拉出指定字段以表格的形式显示。首先吐槽下这变态的sql语句,在学校学习时,,从来没有写过这么变态的sql语句。。。。感叹读万卷书不如行万里路啊,实践出真知。

工作中使用了left join,并且在on和where这出了问题。这里重新实验学习一下。

实验

首先我们建立2个测试用表:table1和table2,如图

table1:
这里写图片描述

table2:
这里写图片描述

然后是两个表根据name字段的左连接

这里写图片描述

将筛选条件task=’taskA’写在 on 后面

这里写图片描述

将 task=’taskA’写在 where 后面

这里写图片描述

总结

on后面写筛选条件是先对table2执行筛选,之后再左连接,而where后面写筛选条件是两个表先进行左连接,对两个表左连接后产生的表执行筛选

--------------------- 本文来自 大吴凡 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/wf824284257/article/details/74496279?utm_source=copy

猜你喜欢

转载自blog.csdn.net/Ericsson_Liu/article/details/82971023