如果可能的话,我试图理解如何在一个查询中同时从多个表中提取信息。
我有三张桌子,我想知道是否有一种方法可以为住在加利福尼亚的客户查询所有的产品名称?
Table:
products
Fields:
productOid
productName
companyOid
Table:
customerData
Fields:
customerOid
firstName
lastName
state
Table:
orders
Fields:
orderNumber
customerOid
productOid
这是否属于内部连接?
另外,我正在学习mySQL。
最佳答案
为此,您需要使用内部联接。
SELECT DISTINCT p.productName
FROM orders o
INNER JOIN customerData c ON o.customerOid = c.customerOid
INNER JOIN products p ON o.productOid = p.productOid
WHERE c.state = 'CA';
我在这里使用DISTINCT是因为一个客户可能不止一次订购同一产品(或者多个客户订购同一产品),我假设您不需要重复的产品。
我也假设你的状态是一个两个字符的列。
Read more about joins