Logo Wand.Tools

SQL JOIN生成器

使用AI生成JOIN語句以從多個表中組合數據

SQL JOIN 教程

SQL JOIN 教程

简介

SQL JOIN 是一个强大的功能,允许您根据两个或多个表之间的相关列来组合行。本教程将引导您了解不同类型的 JOIN 以及如何有效地使用它们。

JOIN 的类型

INNER JOIN

INNER JOIN 关键字选择在两个表中具有匹配值的记录。

SELECT 列
FROM 表1
INNER JOIN 表2
ON 表1.列 = 表2.列;

LEFT JOIN (或 LEFT OUTER JOIN)

LEFT JOIN 关键字返回左表(表1)中的所有记录,以及右表(表2)中的匹配记录。如果没有匹配,则右侧的结果为 NULL。

SELECT 列
FROM 表1
LEFT JOIN 表2
ON 表1.列 = 表2.列;

RIGHT JOIN (或 RIGHT OUTER JOIN)

RIGHT JOIN 关键字返回右表(表2)中的所有记录,以及左表(表1)中的匹配记录。如果没有匹配,则左侧的结果为 NULL。

SELECT 列
FROM 表1
RIGHT JOIN 表2
ON 表1.列 = 表2.列;

FULL JOIN (或 FULL OUTER JOIN)

FULL JOIN 关键字返回左表(表1)或右表(表2)中有匹配的所有记录。

SELECT 列
FROM 表1
FULL JOIN 表2
ON 表1.列 = 表2.列;

CROSS JOIN

CROSS JOIN 关键字返回两个表的笛卡尔积,即所有可能的行组合。

SELECT 列
FROM 表1
CROSS JOIN 表2;

示例

示例 1: INNER JOIN

SELECT 员工.姓名, 部门.部门名称
FROM 员工
INNER JOIN 部门
ON 员工.部门ID = 部门.部门ID;

示例 2: LEFT JOIN

SELECT 员工.姓名, 部门.部门名称
FROM 员工
LEFT JOIN 部门
ON 员工.部门ID = 部门.部门ID;

示例 3: RIGHT JOIN

SELECT 员工.姓名, 部门.部门名称
FROM 员工
RIGHT JOIN 部门
ON 员工.部门ID = 部门.部门ID;

示例 4: FULL JOIN

SELECT 员工.姓名, 部门.部门名称
FROM 员工
FULL JOIN 部门
ON 员工.部门ID = 部门.部门ID;

示例 5: CROSS JOIN

SELECT 员工.姓名, 部门.部门名称
FROM 员工
CROSS JOIN 部门;

结论

理解 SQL JOIN 对于处理关系数据库至关重要。通过掌握这些技术,您可以有效地查询和分析来自多个表的数据。