JOIN
子句用于根据两个或多个表之间的相关列来组合来自两个或多个表的行。
让我们看一下从products
表格:
product_id | product_name | category_id
------------+----------------+-------------
33 | Geitost | 4
34 | Sasquatch Ale | 1
35 | Steeleye Stout | 1
36 | Inlagd Sill | 8
然后,查看从categories
表格:
category_id | category_name
-------------+----------------
1 | Beverages
2 | Condiments
3 | Confections
4 | Dairy Products
请注意,category_id
栏目中的products
表指的是category_id
在里面categories
表格。上面两个表之间的关系是category_id
柱子。
然后,我们可以创建以下 SQL 语句(使用 JOIN),该语句选择两个表中具有匹配值的记录:
加入products
到 categories
使用category_id
柱子:
SELECT product_id, product_name, category_name
FROM products
INNER JOIN categories ON products.category_id = categories.category_id;
运行示例 »
如果我们从上面的产品表中提取相同的选择,我们会得到以下结果:
product_id | product_name | category_name
------------+----------------+----------------
33 | Geitost | Dairy Products
34 | Sasquatch Ale | Beverages
35 | Steeleye Stout | Beverages
36 | Inlagd Sill | Seafood
以下是 PostgreSQL 中连接的不同类型:
INNER JOIN
:返回两个表中具有匹配值的记录LEFT JOIN
:返回左表中的所有记录,以及右表中匹配的记录RIGHT JOIN
:返回右表中的所有记录,以及左表中匹配的记录FULL JOIN
:当左表或右表中有匹配项时返回所有记录截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!