所以我有一个子查询,它将LEFT JOIN
在三个不同的表上执行。然后我有第四个表,它加入了一个 id,我之前加入的三个表中的一个表将包含该 id。
SELECT
(
IIF
(
NOT EXISTS(
SELECT * FROM A
LEFT JOIN B ON
(A.Col1 = B.Col1)
LEFT JOIN C ON
(A.Col2 = C.Col2)
LEFT JOIN D ON
(A.Col3 = D.Col3)
LEFT JOIN E ON
(B.SomeID = E.SomeID)
OR
(C.SomeID = E.SomeID)
OR
(D.SomeID = E.SomeID)
WHERE A.SomeCondition = T.SomeCondition
1,
0
) AS SomeCol
FROM T
WHERE T.Col1 = (some condition)
如果我CROSS APPLY
在限制表 A 上的行时这样做,我会在性能上受益吗WHERE A.SomeCondition = T.SomeCondition
?该表的行数将明显多于其他表。