Бази даних · Middle · Запитання 30 з 75
Чому WHERE id NOT IN (SELECT user_id FROM bans) може не повернути жодного рядка?
- ✓Правильна відповідь: Якщо підзапит повертає NULL,
NOT INніколи не буде true, тож відфільтруються всі рядки;NOT EXISTSцього уникає - 2Бо
idмає бути проіндексований - 3
NOT INне працює з підзапитами
Пояснення
x NOT IN (1, NULL) означає x <> 1 AND x <> NULL, а друга частина невідома. Це класичний баг зі стовпцями, що допускають NULL.