Назад к вопросам
Middle
2
Напишите SQL-запрос: есть таблица клиентов (clients) и таблица черного списка (blacklist) с полем id. Нужно выбрать всех клиентов, которых нет в черном списке. Предложите несколько вариантов решения
Компании, где спрашивали
EcoFinance
Ответ от нейросети
sobes.tech 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
);
Каждый из этих вариантов имеет свои особенности по производительности в зависимости от СУБД и объёма данных.