在ON
子句中移动条件。
这意味着该ON
子句中的条件将在Stock
与连接之前过滤表中的行Client
。
SELECT [Client].[IDC]
FROM [Client]
LEFT JOIN [Stock]
on [Client].[IDC] = [Stock].[IDC]
AND [Stock].[Type] = 1
AND [Stock].[Price] IS NOT NULL
WHERE [Stock].[IDC] IS NULL
这也可以使用 NOT EXISTS
SELECT [Client].[IDC]
FROM [Client] c
WHERE NOT EXISTS
(
SELECT 1
FROM [Stock] s
WHERE c.[IDC] = s.IDC
AND s.[Type] = 1
AND s.[Price] IS NOT NULL
)