mysql – 难以理解简单的子查询

下午,

我被要求使用子查询返回一些特定的记录集,但是我发现自己很难理解如何使用子查询来获得特定的结果.

E.x.使用子查询,从orderdetails表中列出productsNumber 10121的products表中的productName(s).

我试过:

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);

此子查询将获取此订单的所有productNumbers,然后您的查询将获取所有这些产品的产品名称!

点赞