MySQL 多表联合查询简单实例(mysql两表连查询)

MySQL 多表联合查询简单实例

在实际的数据库应用中,经常需要查询多个表的数据,并将它们联合起来。这时候就需要使用到 MySQL 的多表联合查询。下面就来介绍一下如何使用 MySQL 进行多表联合查询的简单实例。

1. 创建表

首先我们需要创建一些表来作为例子。假设我们有两个表:学生表(students)和课程表(courses)。

学生表的结构如下所示:

CREATE TABLE students (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(255) NOT NULL,

age INT NOT NULL,

);

课程表的结构如下所示:

CREATE TABLE courses (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(255) NOT NULL,

teacher VARCHAR(255) NOT NULL,

student_id INT NOT NULL,

FOREIGN KEY (student_id) REFERENCES students(id)

);

2. 插入数据

接下来,我们需要往这两个表中插入一些测试数据。为了方便起见,我们只插入一些最基本的数据。

插入学生数据:

INSERT INTO students (name, age) VALUES

(‘张三’, 20),

(‘李四’, 21),

(‘王五’, 22);

插入课程数据:

INSERT INTO courses (name, teacher, student_id) VALUES

(‘数学’, ‘高老师’, 1),

(‘英语’, ‘刘老师’, 2),

(‘物理’, ‘张老师’, 3);

3. 多表联合查询

现在我们已经插入了一些测试数据,接下来就可以开始进行多表联合查询了。假设我们需要查询每个学生所选的课程,可以使用下面的 SQL 语句:

SELECT s.name, c.name AS course_name, c.teacher

FROM students s

JOIN courses c ON s.id = c.student_id;

这条 SQL 语句使用了 JOIN 子句将 students 表和 courses 表联合起来。JOIN 子句表示将两个表中的数据按照某个字段进行匹配并合并。在这个例子中,我们将 students 表和 courses 表通过 student_id 字段进行了匹配。

同时,为了更加清晰地呈现每个学生所选的课程,我们使用了 AS 子句给查询出的属性重新命名。这样,查询结果中就会包含每个学生的姓名、所选课程的名称以及教师。

4. 结果分析

执行以上查询语句后,我们可以得到如下的查询结果:

+——-+————-+——–+

| name | course_name | teacher |

+——-+————-+——–+

| 张三 | 数学 | 高老师 |

| 李四 | 英语 | 刘老师 |

| 王五 | 物理 | 张老师 |

+——-+————-+——–+

这个查询结果非常符合我们的预期。我们可以看到,每个学生所选的课程已经按照要求清晰地列出了。这个查询示例也展示了如何在 MySQL 中使用多表联合查询,希望对大家有所帮助。


数据运维技术 » MySQL 多表联合查询简单实例(mysql两表连查询)