Проверка существования строки

Для проверки наличия строк в подзапросе можно воспользоваться предложением EXISTS.

EXISTS (подзапрос) принимает значение TRUE, когда подзапрос возвращает хотя бы одну строку.

Не имеет значения, что написано в списке выборки в подзапросе. По этой причине подзапросы с EXISTS обычно выглядят примерно так:

SELECT ...
  FROM ...
 WHERE ...
   AND EXISTS (SELECT 1 FROM ...)

Найдем товары, которые продавались:

SELECT p.product_id,
       p.name
  FROM product p
 WHERE EXISTS (SELECT 1
                 FROM purchase_item pi
                WHERE pi.product_id = p.product_id)
 ORDER BY p.name
# product_id name
1 7 Deepbox
2 11 Lord Nikon 95
3 12 Nikon D750
4 3 Nintendo
... ... ...

6.7 NULL значения в NOT IN

6.9 Проверка отсутствия строки