left jion on(多个条件)

zltt520 2015-07-15 05:22:02
问题:如果有A表和B表,A表有a1,a2,a3....an字段,B表有b1,b2,b3....bn字段,想查出同时满足条件a1=b1,a2=b2,a3=b3这三个条件的所内容?

谢谢
...全文
79684 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_shiye 2015-07-16
  • 打赏
  • 举报
回复
 在使用left jion时,on和where条件的区别如下:  1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉 网上找的,呵呵
xiaoxiangqing 2015-07-16
  • 打赏
  • 举报
回复
select a.*, b.* from a left join b on a1=b1 and a2=b2 and a3=b3--》查看运行计划,它自动会转为内连接的
Pact_Alice 2015-07-16
  • 打赏
  • 举报
回复
select a.*, b.* from taba a inner join tabb b on a.a1=b.b1 and a.a2=b.b2 and a.a3=b.b3
  • 打赏
  • 举报
回复
用内连接:
select a.*, b.* 
from a 
inner join b on a1=b1 and a2=b2 and a3=b3
许晨旭 2015-07-15
  • 打赏
  • 举报
回复
和楼上那个相比,楼上是在联接的时候就过滤了,我的是联接后过滤,两个结果是不一样的
select a.*, b.* 
from a 
left join b on a1=b1 
where  a2=b2 and a3=b3
卖水果的net 版主 2015-07-15
  • 打赏
  • 举报
回复
-- 这个意思 吗?
select a.*, b.* 
from a 
left join b on a1=b1 and a2=b2 and a3=b3

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧