首页 > 代码库 > 条件放在left join后面和where后面
条件放在left join后面和where后面
有这样一个查询的差异:
两张表如下:
语句在这里:
1 create table #AA 2 ( 3 ID int, 4 Name nvarchar(50) 5 ) 6 7 insert into #AA 8 select 1,‘项目1‘ 9 union all10 select 2,‘项目2‘11 union all12 select 3,‘项目3‘13 union all14 select 4,‘项目4‘15 union all16 select 5,‘项目5‘17 18 create table #BB19 (20 ID int,21 ProjectID int,22 Name nvarchar(50)23 )24 25 insert into #BB26 select 1,1,‘绿化园林‘27 union all28 select 2,2,‘安装玻璃‘29 union all30 select 3,3,‘拉电线‘
查询差异如下:
条件放在left join ..on后面不会过滤掉左表的内容,对于右表,没有的内容会填充null。而如果条件放在where后面,则会过滤掉左表的内容。
条件放在left join后面和where后面
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。