Sobes.tech
Middle+

SQL naloga: obstajata dve tabele A in B s podatki o strankah. Kako izbrati stranke iz tabele A, katerih ni v tabeli B?

sobes.tech AI

Odpoveď od 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 (предполагается, что это идентификатор клиента). Выбор конкретного варианта зависит от СУБД и предпочтений по производительности.