1 JOIN
MySQL 中的 JOIN用于将多个表中的数据行基于它们之间的关联字段进行组合,是非常核心的查询操作。下面这个表格汇总了主要的 JOIN类型、关键区别和典型应用场景,方便你快速了解概览。
| JOIN 类型 | 关键字 | 核心逻辑/返回结果 | 典型应用场景 |
|---|---|---|---|
| 内连接 | INNER JOIN或 JOIN |
返回两个表中连接条件匹配的记录(即两表的交集)。 | 查找同时存在于两个表中的相关数据,如"有部门的员工及其部门信息"。 |
| 左外连接 | LEFT JOIN或 LEFT OUTER JOIN |
返回左表 的全部记录,以及右表中连接条件匹配的记录。右表无匹配时,其字段以NULL填充。 |
以左表为主,查询其全部记录并关联右表信息,如"所有员工(包括未分配部门的)及其部门"。 |
| 右外连接 | RIGHT JOIN或 RIGHT OUTER JOIN |
返回右表 的全部记录,以及左表中连接条件匹配的记录。左表无匹配时,其字段以NULL填充。 |
以右表为主,查询其全部记录并关联左表信息。可用LEFT JOIN替代以实现更好兼容性。 |
| 全外连接 | FULL JOIN或 FULL OUTER JOIN |
返回左右两表的所有记录 。当一侧无匹配时,另一侧字段以NULL填充。MySQL不直接支持 ,但可用UNION模拟。 |
需要合并两个表的所有记录时(例如合并两份名单)。 |
| 交叉连接 | CROSS JOIN |
返回两表的笛卡尔积(即左表每一行与右表每一行进行组合)。 | 需要获取所有可能组合的情况,如生成测试数据或某种组合 |