我有一个表1产品(productID,name,description,productCategoryID)和表2类别(categoryID,name)的经典示例,我想要的是使用select语句来获取产品表输出但是产品结果集中的类别名称而不是ID,我知道这一定非常简单,但我用谷歌搜索并查看了类似的问题,并且无法理解联接在我的情况下如何工作 谢谢
答案 0 :(得分:1)
您想在两个表之间使用JOIN
:
select p.productId
p.name as ProductName,
p.description,
c.name CategoryName
from products p
inner join categories c
on p.productCategoryId = c.categoryId
如果您需要帮助学习联接,请参阅great visual explanation of joins。
我在两个表之间使用了INNER JOIN
。这将返回两个表之间匹配的所有行。如果您想要返回所有products
,无论category
表中是否有匹配的行,那么您将需要使用LEFT JOIN
答案 1 :(得分:1)
理想情况下,我们会看到您自己的一些代码......但是......
SELECT products.productID,
products.name as ProductName,
products.description,
categories.name as CategoryName
FROM Products
INNER JOIN categories
ON categories.categoryID = Products.productCategoryID