在准备好这个问题的答案后,我发现我无法验证我的答案.
在我的第一个编程工作中,我被告知IN ()谓词中的查询IN会对父查询中包含的每一行执行,因此应该避免使用.
例如,给定查询:
SELECT count(*) FROM Table1 WHERE Table1Id NOT IN (
SELECT Table1Id FROM Table2 WHERE id_user = 1)
Run Code Online (Sandbox Code Playgroud)
Table1 Rows | # of "IN" executions
----------------------------------
10 | 10
100 | 100
1000 | 1000
10000 | 10000
它是否正确?IN谓词实际上如何工作?