当前位置: 代码迷 >> Sql Server >> 小弟我的观点正确吗
  详细解决方案

小弟我的观点正确吗

热度:36   发布时间:2016-04-27 13:59:39.0
我的观点正确吗?
我从来不用right join。
因为,可以使用left join来代替,把2个表位置一换就可以用left join了,对吗?还是未遇到复杂问题?

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

你们什么情况?

------解决方案--------------------
left join 可以代替right join.
mysql优化器在遇到right join时,也是转换成left join再进行操作的。

inner join 和left join就是2个完全不一样的功能了。
------解决方案--------------------
inner join是搜两表有关联的记录,left join是搜左表,然后按照关联关系拼接上右表.还是得看业务需求。
------解决方案--------------------
引用以下二式是不是相等呢?
select * from a inner join b on a.wc=b.wc
select * from a,b where a.wc=b.wc

------解决方案--------------------
兄弟你有些专牛角尖了。
不同的写法只是给你提供更灵活的处理方式而已。
就好像i++等价于i=i+1(当然可能i++在效率上略高些,猜测而已。)
------解决方案--------------------
多尝试,会有更深入的了解。人最怕的就是一个懒字。
------解决方案--------------------
from table1 inner join table2 where table1.id=table2.id 等价于 from table1 a,table2 b where a.id=b.id

left join 和 right join 可以互换
------解决方案--------------------
条条大路通罗马
------解决方案--------------------
根据具体情况使用不同的外连接,在连接字段上建立索引,LEFT JOIN、RIGHT JOIN可以互换,
习惯不同而已,个人习惯用LEFT JOIN

------解决方案--------------------
Inner join与Left join实现功能不一样
如果该用Inner join的地方都Left join代替,那就悲剧了
而且Left join效率通常比Inner join低
------解决方案--------------------
探讨
引用:

引用以下二式是不是相等呢?
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
产生结果完全相……

------解决方案--------------------
我也一直使用left join,在mssql
不过,以前的mssql使用者一直宣传left join效率很低,
但是我在sql2000/2005基本没遇到,否则也早就不敢使用left join了
------解决方案--------------------
儿子的小伙伴甲称呼我是 胖墩爸爸
儿子的小伙伴乙称呼我是 他爸爸
不管怎么样 我还只是我儿子的爸爸.

------解决方案--------------------
left join 是可以代替right join .

但是inner join 用的也比较多。你不用可能你还没遇到需要用的地方。

------解决方案--------------------
探讨

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

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

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

outer join 本身就是 left outer join 或者 right outer join ,语法……

------解决方案--------------------
集合的观点
inner join:交集
full join:全集
a left join b:a全集 b交集 right反之

------解决方案--------------------
探讨
我从来不用right join。
因为,可以使用left join来代替,把2个表位置一换就可以用left join了,对吗?还是未遇到复杂问题?

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

你们什么情况?

------解决方案--------------------
知道原理,做过实践。然后一切从实际需求出发即可。
------解决方案--------------------
第一正确

第二不正确,inner join,Full Outer Join 是需要使用的,inner join更常用,效率也高,Full Outer Join 在特定情况下需要,对于sql 2008增加的cross apply和outer apply在特定情况业时需要使用的
  相关解决方案