Sobes.tech
Back to questions
Middle+
1

SQL задача: есть две таблицы A и B с данными по клиентам. Как выбрать клиентов из таблицы A, которых нет в таблице B?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Чтобы выбрать клиентов из таблицы A, которых нет в таблице B, можно использовать SQL-запрос с оператором NOT IN, LEFT JOIN или NOT EXISTS.

Пример с NOT IN:

SELECT *
FROM A
WHERE client_id NOT IN (SELECT client_id FROM B);

Пример с LEFT JOIN:

SELECT A.*
FROM A
LEFT JOIN B ON A.client_id = B.client_id
WHERE B.client_id IS NULL;

Пример с NOT EXISTS:

SELECT *
FROM A
WHERE NOT EXISTS (
    SELECT 1 FROM B WHERE B.client_id = A.client_id
);

Все три варианта выбирают клиентов из таблицы A, которых нет в таблице B, по полю client_id (предполагается, что это идентификатор клиента). Выбор конкретного варианта зависит от СУБД и предпочтений по производительности.