我正在学习SQL JOIN,但我无法理解在给定方案中使用什么类型的联接。我将非常感谢能够更好地解释JOIN用法的材料链接/建议!
以下是我不明白的具体情况:
'Orders' table
--
OrderNumber, CustomerID, ...
'Order_Details' table
--
OrderNumber, ProductID, ...
Orders
--
1000, 1
1001, 2
1002, 1
1003, 1
...
Order_Details
--
1000, Product1
1000, Product2
1000, Product3
1001, Product2
1001, Product3
...
期望的结果:我想要列出销售给特定客户的所有产品。我知道OrderNumber是'链接/密钥'这两个表之间,但我不确定使用什么类型的查询。
CustomerID | ProductID
1 Product1
1 Product2
1 Product3
1 Product2
...
我可以使用哪种类型的查询来实现此结果?
答案 0 :(得分:1)
如果您需要:"销售给特定客户的所有产品清单"
那么你想要的是什么(用你要搜索的客户ID替换1)
SELECT o.CustomerID, od.ProductID
FROM orders o
INNER JOIN order_details od ON o.OrderNumber = od.OrderNumber
WHERE o.CustomerID=1
答案 1 :(得分:0)
这要求简单,直接的加入:
SELECT CustomerID, ProductID
FROM orders o
JOIN order_details od ON o.OrderNumber = od.OrderNumber