我的观点正确吗?

bonlog 2012-02-06 10:05:19
我从来不用right join。
因为,可以使用left join来代替,把2个表位置一换就可以用left join了,对吗?还是未遇到复杂问题?

第二,洒家至今,从未使用过其他外join
编程10个月了,只用left join.什么inner,outer join一次没用过。

你们什么情况?
...全文
842 59 打赏 收藏 转发到动态 举报
写回复
用AI写文章
59 条回复
切换为时间正序
请发表友善的回复…
发表回复
d493912464 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 qunidayededaye 的回复:]
貌似俺只用到了Join和left Join。
加Inner和不加有什么明显的区别么
[/Quote]
join就是inner join 的简称,是一样的。
houyajin 2012-02-10
  • 打赏
  • 举报
回复
http://www.cnblogs.com/zerocc/archive/2012/01/19/2326745.html
给楼主个链接看看,能否有所帮助。《T-SQL编程入门05&08》这个书上有解释挺多的。
ffaannggyyuu 2012-02-10
  • 打赏
  • 举报
回复
qiume 2012-02-10
  • 打赏
  • 举报
回复
理论上 INNER JOIN 比 LEFT JOIN 效率高......
Felixzhaowenzhong 2012-02-09
  • 打赏
  • 举报
回复
知道原理,做过实践。然后一切从实际需求出发即可。
回头是岸 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 bonlog 的回复:]
我从来不用right join。
因为,可以使用left join来代替,把2个表位置一换就可以用left join了,对吗?还是未遇到复杂问题?

第二,洒家至今,从未使用过其他外join
编程10个月了,只用left join.什么inner,outer join一次没用过。

你们什么情况?
[/Quote]

唉! 怎么说呢? 还是你的理论知识少了吧!!!
jmx123456789 2012-02-09
  • 打赏
  • 举报
回复
lz这个等级也能300分?
jmx123456789 2012-02-09
  • 打赏
  • 举报
回复
inner join 用的也比较多
小和桑 2012-02-09
  • 打赏
  • 举报
回复
貌似俺只用到了Join和left Join。
加Inner和不加有什么明显的区别么
haitao 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 fredrickhu 的回复:]
引用 24 楼 sz_haitao 的回复:
我也一直使用left join,在mssql
不过,以前的mssql使用者一直宣传left join效率很低,
但是我在sql2000/2005基本没遇到,否则也早就不敢使用left join了


谁说的?
[/Quote]

以前的很多经验总结里都有这么一条
搞得我使用left join都要做好解释的准备
zoucyang 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 vidor 的回复:]
集合的观点
inner join:交集
full join:全集
a left join b:a全集 b交集 right反之
[/Quote] up
专心做码农 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 acmain_chm 的回复:]
这个没什么啊。很多人大部分情况下只是用LEFT JOIN,毕竟这个从逻辑上更容易让人理解。

个人习惯而已,从效率上没什么差别。

inner join 肯定要用,不过很多时候会使用inner join 的另外一种格式 from a,b where a.id=b.id

outer join 本身就是 left outer join 或者 right outer join ,语法上的缩……
[/Quote]
+
Vidor 2012-02-09
  • 打赏
  • 举报
回复
集合的观点
inner join:交集
full join:全集
a left join b:a全集 b交集 right反之
喜阳阳 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 acmain_chm 的回复:]

这个没什么啊。很多人大部分情况下只是用LEFT JOIN,毕竟这个从逻辑上更容易让人理解。

个人习惯而已,从效率上没什么差别。

inner join 肯定要用,不过很多时候会使用inner join 的另外一种格式 from a,b where a.id=b.id

outer join 本身就是 left outer join 或者 right outer join ,语法……
[/Quote]
inner join 是两表中都有的条件相同的数据
outer join 是两表中以一个表为标准条件相同的数据
chuanzhang5687 2012-02-09
  • 打赏
  • 举报
回复
一楼的回答相当漂亮
勿勿 2012-02-09
  • 打赏
  • 举报
回复
没听过这几个有什么效率问题。
playwarcraft 2012-02-09
  • 打赏
  • 举报
回复
难道木有用过full join ?
--小F-- 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 sz_haitao 的回复:]
我也一直使用left join,在mssql
不过,以前的mssql使用者一直宣传left join效率很低,
但是我在sql2000/2005基本没遇到,否则也早就不敢使用left join了
[/Quote]

谁说的?
victorcai2006 2012-02-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bonlog 的回复:]
引用 6 楼 acmain_chm 的回复:

引用以下二式是不是相等呢?
select * from a inner join b on a.wc=b.wc
select * from a,b where a.wc=b.wc

引用inner join 肯定要用,不过很多时候会使用inner join 的另外一种格式 from a,b where a.id=b.id
产生结果完全相……
[/Quote]

程序需要的思路,很多时候需要我们用N个方法去解决问题,没有必要在一个问题上纠结太久,享受过程是愉快的。
lwqhp 2012-02-09
  • 打赏
  • 举报
回复
inner join 和left join 的结果是不同的吧,不能取代
加载更多回复(34)

34,593

社区成员

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

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