Подзапросы

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

Для проверки наличия строк в подзапросе можно воспользоваться предложением 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_idname
17Deepbox
211Lord Nikon 95
312Nikon D750
43Nintendo
.........
ПредыдущаяСледующая