MySQL开发(十一):使用 JOIN 实现复杂查询:内连接、外连接与自连接
引言
在数据库设计和开发中,表与表之间的关系极其重要。通过使用 JOIN
语句,您可以在单个查询中关联多个表,从而获取所需的数据。本文将详细介绍 JOIN
的不同类型,包括内连接(INNER JOIN)、外连接(LEFT JOIN 和 RIGHT JOIN)以及自连接(SELF JOIN),并提供相关示例、应用场景和性能优化建议。
1. 内连接(INNER JOIN)
内连接是最常用的连接类型,它返回在两个表中都存在的记录。内连接只显示满足连接条件的记录,其他记录会被过滤掉。
1.1. 示例
假设我们有两个表:users
和 orders
。
-
users 表:
user_id username 1 Alice 2 Bob 3 Charlie -
orders 表:
order_id user_id total 101 1 100.00 102 2 150.00 103 1 200.00 104 4 300.00
SQL 语句:
SELECT users.username, orders.total
FROM users
INNER JOIN orders ON users.user_id = orders.user_id;