💡Совет дня:

В SQL предикат EXISTS — мощный инструмент для проверки наличия строк в подзапросе и фильтрации записей по этому признаку. Он возвращает TRUE, если подзапрос возвращает хотя бы одну строку, и FALSE, если строк нет. Важно, что EXISTS работает эффективно, особенно в коррелирующих подзапросах, где подзапрос зависит от каждой строки основного запроса.

Вот примеры:

Найти производителей ноутбуков, которые также выпускают принтеры:

SELECT DISTINCT maker  FROM Product AS lap_product  WHERE type = 'laptop'    AND EXISTS (SELECT maker                FROM Product                WHERE type = 'printer'                  AND maker = lap_product.maker);

Найти производителей ноутбуков, которые не производят принтеры:

SELECT DISTINCT maker  FROM Product AS lap_product  WHERE type = 'laptop'    AND NOT EXISTS (SELECT maker                    FROM Product                    WHERE type = 'printer'                      AND maker = lap_product.maker);

Используйте EXISTS и NOT EXISTS для эффективной проверки пересечений и отсутствий между таблицами. Это поможет писать оптимизированные и понятные запросы.

Запомните, даже самый спокойный медведь умеет рычать, когда надо. Берегите голову, берегите данные — и пусть в вашем дне будет немного тишины, ясности и добрых переменных.

#sql #Совет_дня