我的查询需要返回管道速率不是“无使用”的所有使用记录。
NOT EXISTS vs. NOT IN vs. LEFT JOIN WHERE IS NULL 之间有什么区别?
我已经看到了上述问题,并决定使用 IN 而不是 EXISTS,因为表中的值可以为空。以下哪一种更好,更有效,或者有没有其他方法比以下两种更有效?
SELECT *
FROM usagerecords UR
WHERE UR.usagerateid NOT IN (SELECT id
FROM pipelinerate PR
WHERE PR.name = 'No Usage')
SELECT *
FROM usagerecords UR
WHERE UR.usagerateid IN (SELECT id
FROM pipelinerate PR
WHERE PR.name <> 'No Usage')