Bazy danych · Middle · Pytanie 30 z 75
Dlaczego WHERE id NOT IN (SELECT user_id FROM bans) może nie zwrócić żadnego wiersza?
- ✓Poprawna odpowiedź: Jeśli podzapytanie zwraca NULL,
NOT INnigdy nie jest true, więc wszystkie wiersze odpadają;NOT EXISTStego unika - 2Bo
idmusi być zindeksowane - 3
NOT INnie działa z podzapytaniami
Wyjaśnienie
x NOT IN (1, NULL) oznacza x <> 1 AND x <> NULL, a druga część jest nieznana. To klasyczny błąd z kolumnami dopuszczającymi NULL.