在关系数据库中,数据通常分散在多个表中。为了获取相关联的数据,需要使用表连接(JOIN)操作。
表连接允许我们在一个查询中结合多个表的数据,这在实际应用中非常重要。
例如,在一个电商系统中,用户信息可能存储在 users
表中,而订单信息可能存储在 orders
表中。通过连接这两个表,可以轻松地查询到每个用户的订单记录。
本节中,将详细介绍 MySQL 中的多表连接,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN,并通过具体示例来通俗易懂地解释每种连接的概念和用法。
1. INNER JOIN
概念: INNER JOIN 返回两个表中匹配的记录。只有当在两个表中都存在相应的记录时,才会将它们结合在一起。
示例:INNER JOIN
假设我们有两个表:users
和 orders
。
-- 创建 users 表
CREATE TABLE users (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL
);
-- 创建 orders 表
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
product_name VARCHAR(100),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
插入数据:
-- 插入用户数据
INSERT INTO users (username) VALUES
('Alice'),
('Bob'),
('Charlie');
-- 插入订单数据
INSERT INTO orders (user_id, product_nam