SQL „select where not in subquery” nie zwraca żadnych wyników
Zastrzeżenie: Rozumiem problem (myślę), ale chciałem dodać ten problem do Stack Overflow, ponieważ nie mogłem (łatwo) znaleźć go w dowolnym miejscu. Ponadto ktoś może mieć lepszą odpowiedź niż ja.
Mam bazę danych, do której odwołuje się jedna tabela „Common” w kilku innych tabelach. Chciałem zobaczyć, jakie rekordy w tabeli wspólnej zostały osierocone (tj. Nie miały żadnych referencji z żadnej innej tabeli).
Uruchomiłem to zapytanie:
select *
from Common
where common_id not in (select common_id from Table1)
and common_id not in (select common_id from Table2)
Wiem, że istnieją osierocone rekordy, ale nie zwrócono żadnych rekordów. Dlaczego nie?
(To jest SQL Server, jeśli ma to znaczenie).