求大侠指教用left join、right join这类关键字有啥好处

jinjiawu1 2013-11-13 06:04:52
求大侠指教用left join、right join还有inner join、full join查数据这类关键字有啥好处
...全文
401 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
524929657雯 2013-11-14
  • 打赏
  • 举报
回复
select * from 收发_来货单明细 a =* 收发_送货单明细 b ON a.批号=b.批号 where b.客户单号='1111' 我2000的 怎么说 =* 附近错误?
發糞塗牆 2013-11-14
  • 打赏
  • 举报
回复
2000的时候有*=,=*这些写法,注意那个不是表情.....,2005之后不再支持这种写法,改为left join /right join
發糞塗牆 2013-11-14
  • 打赏
  • 举报
回复
没啥“好处”,但是有“用处”,这三种都叫外联结,是为了获取某些情况下需要显示,但是没有可关联的数据,如果不用外联,则只能显示出有关联的数据,还有另外一种cross join,这个不需要关联,叫做笛卡儿积,左表的行数乘以右表的行数
唐诗三百首 2013-11-13
  • 打赏
  • 举报
回复
left join、right join、inner join、full join用于表关联查询.
houyajin 2013-11-13
  • 打赏
  • 举报
回复
上面已经说了这几个词的意思,如果楼主有基础的话可以建2张表进行测试一下,看看就很明白了。
LongRui888 2013-11-13
  • 打赏
  • 举报
回复
在sql server 2000中支持*=来表示左连接。 但到了2005以后,就不再支持*=来做左连接了,所以建议使用inner join,left join,right jion、full join。 inner join就是内连接,也就是两个连接的表,符合要求的数据都会返回。 left join也就是坐表的数据都会出来,而右边表,能连接上的数据会出来。 right join可以转化为left join,比如 a left join b,其实也就是 b right join a full join,就是两边的数据都会出来,不管有没有连接上,不过一般不建议用这个full join,因为这个在多个表关联时,特别是超过2个表以上的关联时,特别容易出错。
Andy__Huang 2013-11-13
  • 打赏
  • 举报
回复
left join查询:左边全部显示;右边符合条件就显示,不符合条件则为null. right join查询:右边全部显示;左边符合条件就显示,不符合条件则为null. inner join查询:只有两边都符合条件的才列出来。 full join =(left join) + (right join) + (inner join) 的集合 无论是左联还是右联,where 的过滤条件都select查询中生效
junlinfushi 2013-11-13
  • 打赏
  • 举报
回复
http://www.jb51.net/article/15386.htm 超详细mysql left join,right join,inner join用法分析

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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