0

重複の可能性:
右結合と左結合

テーブル名を変更するだけで LEFT 結合を使用して同じ結果を得ることができるため、RIGHT 結合の必要性はありますか?

私は2つのテーブルPersonsとOrdersを持っています

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

どちらも同じ結果になります。

4

2 に答える 2

1

便宜上、両方のバージョンが存在します。おっしゃる通り、一つあればいいんです。

ただし、1 つ (RIGHT または LEFT) しかなく、あまり変更せずに非内部結合をクエリに追加したい場合、大きなクエリをかなり変更する必要がある場合があります。

両方をオプションとして使用すると、通常、クエリをあまり再加工しなくても、既存のクエリに非内部結合を簡単に組み込むことができます。

少なくとも、私が RIGHT JOIN を書いていることに気付くのはそのときだけです。すでにクエリがあり、非内部結合を追加する必要があり、それを LEFT JOIN にすると、必要以上にクエリを作り直すことになります。

于 2013-01-15T07:05:30.770 に答える
-1

理解を深めるためにこれを確認してください

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

于 2013-01-15T07:05:24.443 に答える