【发布时间】:2011-01-31 17:26:37
【问题描述】:
考虑MSDN documentation的例子:
SELECT p.Name, pr.ProductReviewID
FROM Production.Product p
LEFT OUTER JOIN Production.ProductReview pr
ON p.ProductID = pr.ProductID
在此示例中,很明显左侧上的表是“Production”,所有行都将从那里返回,然后只返回与 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?还是 A & B 连接的结果?
我的困惑来自以下MSDN documentation,它指出“只能在 FROM 子句中指定外连接”,这意味着我假设查询中的左表是 A,但是我没有 ON 子句指定连接条件 - 在这种情况下,我的假设查询是一个错误的查询吗?
【问题讨论】:
标签: sql-server join left-join