外连接查询条件顺序的对查询结果的影响

_XuDaojie 2013-03-11 04:32:53

select
c.name_check_state,
a.no_bill,
from
ls_requisition_2 as b
left join
ls_requisition_1 as a on a.no_bill = b.no_body
left join
ls_item as c on c.no_ls = b.no_item;



select
c.name_check_state,
a.no_bill,
from
ls_requisition_2 as b
left join
ls_requisition_1 as a on b.no_body = a.no_bill
left join
ls_item as c on b.no_item = c.no_ls;

我想知道我的a,no_bill = b.no_body 顺序反一下有什么区别啊 就是因为我顺序写反了所以结果没查询出来
是不是我把如果我把left join改成right join 是不是不用换顺序也可以呢
...全文
128 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-03-11
  • 打赏
  • 举报
回复
from a (left/right/full) join b on xxxx (left/right/full) join c on xxxx 它的执行顺序是先a与b关联,然后生成一个虚拟表假设叫做D,然后d与c再关联,本身你的顺序是没有太大影响,但是你在on中这样调换,需要了解你的表里面是否有符合条件的数据,这属于逻辑问题,不是写法问题。

34,594

社区成员

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

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