是否需要RIGHT join,因为只需更改表名就可以使用LEFT join实现相同的结果
我有两张桌子人员和订单
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
和
O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15
我有一个关于左连接的查询:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
并且有正确的加入:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Orders
RIGHT JOIN Persons
ON Orders.P_Id=Persons.P_Id
ORDER BY Persons.LastName
两者都给出了相同的结果。
答案 0 :(得分:1)
为方便起见,两个版本都存在。正如你所说,只有一个是必要的。
但是,如果只有一个(RIGHT或LEFT),并且您希望在不更改它的情况下向查询添加非内部联接,则有时需要更改大型查询。
使用两者作为选项,通常很容易将非内部联接处理到预先存在的查询中,而无需对查询进行太多其他重写。
至少那是我发现自己编写RIGHT JOIN的唯一一次:当我已经有一个查询并且需要添加一个非内部联接并使其成为LEFT JOIN会导致我重新编写查询而不是我想要的到。
答案 1 :(得分:-1)