I've got a customer that discovered something odd...
SELECT f1 FROM v1 WHERE f2 not in (SELECT bad FROM v2 WHERE f3 = 1);
does not error, even though bad doesn't exist, but
I'm guessing there's a v1.bad?
This is a common mistake, and also why I recommend always table qualifying column references when there's more than one table in scope.
Well now I feel dumb...
It would be very useful if we had some way to warn users about stuff like this. Emitting a NOTICE comes to mind.
This can be valid query
Regards
Pavel
-- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) mobile: 512-569-9461