Рассмотрим пример из документации MSDN :
SELECT p.Name, pr.ProductReviewID
FROM Production.Product p
LEFT OUTER JOIN Production.ProductReview pr
ON p.ProductID = pr.ProductID
В этом примере ясно, что таблица в слева является «Производственной», и именно из нее будут возвращены все строки, а затем только те, которые соответствуют в ProductReview.
Но теперь рассмотрим следующий гипотетический запрос с 3 таблицами A, B, C
.
select * from A
inner Join B on A.field1 = B.field1
left outer join C on C.field2 = b.Field2
Какая левая таблица в этом запросе (из которой будут возвращены все записи, независимо от совпадения с C)? Это А или Б? Или это результат объединения A & B?
Моя путаница возникает из следующей документации MSDN , в которой говорится, что «Внешние объединения могут быть указаны только в предложении FROM», что будет означать, что левой таблицей в моем гипотетическом запросе является A, но затем я У вас нет предложения ON, которое задает условие соединения - в каком случае мой гипотетический запрос плохой?