同様の問題を探しましたが、役に立ちませんでした。解決策を見逃した場合は、お詫びし、正しい方向に向けてください。
MS AdventureWorks で遊んでいますが、作成した INNER JOIN を使用する 2 つの SELECT ステートメントに機能上の違いがあるかどうかを知りたいです。同じ結果が得られます。
バージョン 1
SELECT pp.BusinessEntityID, pp.FirstName, pp.MiddleName, pp.LastName, pp.Suffix,
pe.EmailAddress,
pa.AddressLine1, pa.AddressLine2, pa.City, pa.PostalCode FROM
Person.BusinessEntityAddress AS bea
INNER JOIN Person.Address AS pa
ON bea.AddressID = pa.AddressID
INNER JOIN Person.Person AS pp
ON bea.BusinessEntityID = pp.BusinessEntityID
INNER JOIN Person.EmailAddress AS pe
ON pp.BusinessEntityID = pe.BusinessEntityID
WHERE pp.Suffix IS NOT NULL
バージョン 2
SELECT pp.BusinessEntityID, pp.FirstName, pp.MiddleName, pp.LastName, pp.Suffix,
pe.EmailAddress,
pa.AddressLine1, pa.AddressLine2, pa.City, pa.PostalCode
FROM Person.BusinessEntityAddress AS bea
INNER JOIN Person.Address AS pa
ON bea.AddressID = pa.AddressID
INNER JOIN Person.Person AS pp
ON bea.BusinessEntityID = pp.BusinessEntityID
INNER JOIN Person.EmailAddress AS pe
ON bea.BusinessEntityID = pe.BusinessEntityID
WHERE pp.Suffix IS NOT NULL
唯一の違いは、最後の ON 句にあります。設計図はかなり異なって見えますが、どんな考えでも大歓迎です