Я изучаю PostgreSQL и работаю с базой данных Northwind
Сейчас я тестирую JOIN
и подзапрос с ANY
Я хочу выбрать все product_name
, из которых было заказано ровно 10 (столбец quantity
из order_details
)
Итак, у меня есть 2 разных запроса:
SELECT product_name FROM products
WHERE product_id = ANY(
SELECT product_id FROM order_details
WHERE quantity = 10
)
а также
SELECT products.product_name FROM products
JOIN order_details ON order_details.product_id = products.product_id
WHERE order_details.quantity = 10
Но они дают разные результаты!
Первый дает: Всего 60 строк
А второй дает: 181 строка
Почему так и какой результат правильный?