JOIN 是 SQL 中最重要也最常用的操作之一,它允许我们从多个表中获取关联数据。本文将全面解析 SQL 中的各种 JOIN 类型,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 以及 CROSS JOIN,并通过实际示例展示它们的应用场景。
一、JOIN 基础概念
1.1 什么是 JOIN
JOIN 操作用于根据两个或多个表之间的关联条件,将这些表中的行组合起来。它使得我们可以从多个表中检索数据,就像从一个表中检索一样。
1.2 为什么需要 JOIN
在关系型数据库中,数据通常被规范化存储在多个表中。JOIN 操作让我们能够:
-
避免数据冗余
-
保持数据一致性
-
高效地查询关联数据
二、JOIN 类型详解
2.1 INNER JOIN(内连接)
定义:只返回两个表中匹配的行。
语法:
SELECT 列名
FROM 表1
INNER JOIN 表2 ON 表1.列 = 表2.列
示例:
-- 查询所有有订单的客户信息
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
图示: