admin 管理员组

文章数量: 1086019


2024年4月14日发(作者:inster into)

MySQL表关联写法

1. 引言

在MySQL数据库中,关联(join)是一个非常重要且常用的操作,它用于将不同的

表组合在一起,以便进行更复杂的查询和分析操作。本文将深入探讨MySQL表关联

的写法,包括内连接、外连接以及自连接等常见的关联方式。

2. 内连接(INNER JOIN)

内连接是最常用的表关联方式之一,它仅返回两个表中满足关联条件的数据。内连

接可以通过使用

JOIN

关键字或者逗号

,

来实现。语法如下:

SELECT 列名

FROM 表1

JOIN 表2 ON 表1.关联列 = 表2.关联列;

2.1 单表内连接

单表内连接用于从一个表中获取满足指定条件的数据。下面是一个示例:

SELECT 学生.姓名, 成绩.科目, 成绩.分数

FROM 学生

JOIN 成绩 ON 学生.学号 = 成绩.学号;

2.2 多表内连接

多表内连接用于联结多个表,以获取相关联的数据。下面是一个示例:

SELECT 学生.姓名, 课程.名称, 成绩.分数

FROM 学生

JOIN 成绩 ON 学生.学号 = 成绩.学号

JOIN 课程 ON 成绩.课程号 = 课程.课程号;

3. 外连接(OUTER JOIN)

外连接用于返回满足关联条件的数据以及未关联的数据。外连接包括左外连接、右

外连接和全外连接三种方式。

3.1 左外连接(LEFT JOIN)

左外连接返回左表中所有记录以及与之关联的右表的匹配记录。如果右表中没有匹

配的记录,则返回空值。语法如下:

SELECT 列名

FROM 左表

LEFT JOIN 右表 ON 左表.关联列 = 右表.关联列;

3.2 右外连接(RIGHT JOIN)

右外连接返回右表中所有记录以及与之关联的左表的匹配记录。如果左表中没有匹

配的记录,则返回空值。语法如下:

SELECT 列名

FROM 左表

RIGHT JOIN 右表 ON 左表.关联列 = 右表.关联列;

3.3 全外连接(FULL JOIN)

全外连接返回左表和右表中的所有记录,无论是否有匹配。如果左表和右表中没有

匹配的记录,则返回空值。语法如下:

SELECT 列名

FROM 左表

FULL JOIN 右表 ON 左表.关联列 = 右表.关联列;

4. 自连接(SELF JOIN)

自连接是指将一个表与其自身关联的操作。常见的应用场景包括员工与上司的关系、

分类与子分类的关系等。语法如下:

SELECT 列名

FROM 表1

JOIN 表2 ON 表1.关联列 = 表2.关联列;

5. 总结

在MySQL中,表关联是非常重要且常用的操作。本文介绍了内连接、外连接和自连

接这三种常见的表关联方式,对于每种关联方式都给出了相应的语法示例。了解和

掌握这些关联方式,将有助于我们更有效地进行复杂的数据查询和分析。


本文标签: 关联 连接 成绩 返回 数据