Sobes.tech
Middle+

Compito SQL: ci sono due tabelle A e B con dati sui clienti. Come selezionare i clienti dalla tabella A che non sono nella tabella B?

sobes.tech AI

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