下午,
我被要求使用子查询返回一些特定的记录集,但是我发现自己很难理解如何使用子查询来获得特定的结果。
例如使用子查询,列出 orderdetails 表中 orderNumber 10121 的产品表中的产品名称。
我尝试过:
SELECT productName
FROM products
WHERE (SELECT orderNumber FROM orderdetails WHERE orderNumber = 10121);
但显然我错过了什么。
如有任何帮助,我们将不胜感激。
最佳答案
你们很亲近。它总是帮助我将子查询视为返回您将检查的对象数组。因此,对于这个示例,您可能在这两个表中都有一个 productNumber 以使它们具有关系。因此,您的 SQL 类似于:
SELECT productName FROM products WHERE productNumber IN (SELECT productNumber FROM orderdetails WHERE orderNumber = 10121);
此子查询将获取此订单的所有产品编号,然后您的查询将获取所有这些产品的产品名称!
关于mysql - 难以理解简单的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264669/