我从来不用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是搜左表,然后按照关联关系拼接上右表.还是得看业务需求。
------解决方案--------------------
------解决方案--------------------
兄弟你有些专牛角尖了。
不同的写法只是给你提供更灵活的处理方式而已。
就好像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低
------解决方案--------------------
------解决方案--------------------
我也一直使用left join,在mssql
不过,以前的mssql使用者一直宣传left join效率很低,
但是我在sql2000/2005基本没遇到,否则也早就不敢使用left join了
------解决方案--------------------
儿子的小伙伴甲称呼我是 胖墩爸爸
儿子的小伙伴乙称呼我是 他爸爸
不管怎么样 我还只是我儿子的爸爸.
------解决方案--------------------
left join 是可以代替right join .
但是inner join 用的也比较多。你不用可能你还没遇到需要用的地方。
------解决方案--------------------
------解决方案--------------------
集合的观点
inner join:交集
full join:全集
a left join b:a全集 b交集 right反之
------解决方案--------------------
------解决方案--------------------
知道原理,做过实践。然后一切从实际需求出发即可。
------解决方案--------------------
第一正确
第二不正确,inner join,Full Outer Join 是需要使用的,inner join更常用,效率也高,Full Outer Join 在特定情况下需要,对于sql 2008增加的cross apply和outer apply在特定情况业时需要使用的