下午,
我被要求使用子查询返回一些特定的记录集,但是我发现自己很难理解如何使用子查询来获得特定的结果。
E.x。使用子查询,从orderdetails表中列出productsNumber 10121的products表中的productName(s)。
我试过了:
SELECT productName
FROM products
WHERE (SELECT orderNumber FROM orderdetails WHERE orderNumber = 10121);
但显然我错过了一些东西。
任何帮助都将不胜感激。
答案 0 :(得分:2)
你非常接近。它总是帮助我查看子查询返回您将检查的对象数组。因此,对于此示例,您可能在这两个表中都有productNumber以使它们成为关系。因此,您的SQL将类似于:
SELECT productName FROM products WHERE productNumber IN (SELECT productNumber FROM orderdetails WHERE orderNumber = 10121);
此子查询将获取此订单的所有productNumbers,然后您的查询将获取所有这些产品的产品名称!