Sobes.tech
Назад к вопросам
Middle
2

Напишите SQL-запрос: есть таблица клиентов (clients) и таблица черного списка (blacklist) с полем id. Нужно выбрать всех клиентов, которых нет в черном списке. Предложите несколько вариантов решения

Компании, где спрашивали
EcoFinance

Ответ от нейросети

sobes.tech AI

Для выбора клиентов, которых нет в черном списке, можно использовать несколько вариантов SQL-запросов:

  1. Использование LEFT JOIN с проверкой на NULL:
SELECT c.*
FROM clients c
LEFT JOIN blacklist b ON c.id = b.id
WHERE b.id IS NULL;
  1. Использование NOT IN:
SELECT *
FROM clients
WHERE id NOT IN (SELECT id FROM blacklist);
  1. Использование NOT EXISTS:
SELECT *
FROM clients c
WHERE NOT EXISTS (
  SELECT 1 FROM blacklist b WHERE b.id = c.id
);

Каждый из этих вариантов имеет свои особенности по производительности в зависимости от СУБД и объёма данных.