我想知道正确连接的用途是什么,因为我们可以通过交换表从左连接获得相同的结果。
所以,让我们举一个例子 -
假设我需要将两个表TAB_A和TAB_B与右连接连接起来,以获得结果 -
SELECT * FROM TAB_A RIGHT JOIN TAB_B
但我也可以使用左连接而不是右连接来获得相同的查询结果,如下所示
SELECT * FROM TAB_B LEFT JOIN TAB_A
所以我的问题是在SQL中正确连接的目的是什么,是否有任何与性能相关的比较或左连接无法完成的任何事情?
答案 0 :(得分:0)
假设你需要像这样进行双连接:
SELECT *
FROM table1
LEFT JOIN table2 ON table1.name = table2.name1
RIGHT JOIN table3 ON table2.position = table3.job;
当RIGHT JOIN很有用时......
此致
答案 1 :(得分:0)
如果只有两个表,您可以切换表以从左右连接获得相同的结果。但是如果你有两个以上的表并且你需要将左连接放在几个表上,那么就连接几个表,所以在这种情况下你需要两个连接。
答案 2 :(得分:-1)
如http://dev.mysql.com/doc/refman/5.7/en/outer-join-simplification.html
中所述在解析器阶段,具有右外连接操作的查询将转换为仅包含左连接操作的等效查询。
使用RIGHT JOIN会导致解析器转换,但实际上它应该可以忽略不计。