IntermediateSubqueries & EXISTS

Products never ordered this year

The query

SQL
SELECT p.product_id, p.name, p.stock, p.price
FROM products p
WHERE p.product_id NOT IN (
  SELECT DISTINCT oi.product_id
  FROM order_items oi
  JOIN orders o ON oi.order_id = o.order_id
  WHERE EXTRACT(YEAR FROM o.order_date) = EXTRACT(YEAR FROM CURRENT_DATE)
)
AND p.is_active = TRUE
ORDER BY p.stock DESC;
Tested against PostgreSQL 16

Note

NOT IN with joined subquery. These are slow-moving or dormant products — candidates for promotion.

Tables referenced