My query needs to return all usage records whose pipeline rate is not 'No Usage'.
What's the difference between NOT EXISTS vs. NOT IN vs. LEFT JOIN WHERE IS NULL?
I have seen the above question and decided to use IN over EXISTS as the values in the tables are nullable. Which one of the following is better and more efficient or is there any other way which more efficient than the following two?
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')