什么是正确连接的使用,因为我们可以从左连接获得相同的结果

时间:2016-03-16 10:21:49

标签: sql

我想知道正确连接的用途是什么,因为我们可以通过交换表从左连接获得相同的结果。

所以,让我们举一个例子 -

假设我需要将两个表TAB_A和TAB_B与右连接连接起来,以获得结果 -

SELECT * FROM TAB_A RIGHT JOIN TAB_B

但我也可以使用左连接而不是右连接来获得相同的查询结果,如下所示

SELECT * FROM TAB_B LEFT JOIN TAB_A

所以我的问题是在SQL中正确连接的目的是什么,是否有任何与性能相关的比较或左连接无法完成的任何事情?

3 个答案:

答案 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会导致解析器转换,但实际上它应该可以忽略不计。