【发布时间】:2021-06-02 19:38:33
【问题描述】:
我正在学习 PostgreSQL 并使用 Nortwind database
现在我正在测试JOIN 并使用ANY 进行子查询
我想选择所有product_name,其中正好有10个被订购(来自order_details的列quantity)
所以我有两个不同的查询:
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
但他们给出了不同的结果!
第一个给出:
Only 60 rows
第二个给出:181 rows
为什么会这样,哪个结果是正确的?
【问题讨论】:
-
它们返回的行数不同,它们是完全不同的查询
标签: sql postgresql join subquery northwind