Middle
Напишете SQL заявка: има таблица с клиенти (clients) и таблица с черен списък (blacklist) с поле id. Трябва да изберете всички клиенти, които не са в черния списък. Предложете няколко варианта за решение.
sobes.tech AI
Отговор от AI
За избор на клиенти, които не са в черния списък, може да се използват няколко варианта на SQL заявки:
- Използване на LEFT JOIN с проверка за NULL:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
- Използване на NOT IN:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
- Използване на NOT EXISTS:
SELECT *
FROM clients c
WHERE NOT EXISTS (
SELECT 1 FROM blacklist b WHERE b.id = c.id
);
Всяка от тези опции има свои особености по отношение на производителността, в зависимост от системата за управление на бази данни и обема на данните.