利用mysql实现2表联合查询(2表关联查询mysql)

利用 MySQL 实现 2 表联合查询

在数据库中,联合查询(Union)是一种等同于将两个 SELECT 语句的结果集合并在一起的操作。它通常用于查询多个表中的数据,并将查询结果合并成一个结果集。在本篇文章中,我们将介绍如何使用 MySQL 实现 2 表联合查询。

1. 建立两个表

在进行联合查询之前,首先需要创建两个表。这里我们建立两个表,一个是学生表(students),包含学生的编号(id)、姓名(name)和年龄(age);另一个是成绩表(scores),包含学生的编号(id)和成绩(score)。

代码如下:

CREATE TABLE students (
id INT(11) PRIMARY KEY,
name VARCHAR(50),
age INT(11)
);

CREATE TABLE scores (
id INT(11),
score INT(11)
);

2. 插入数据

为了演示联合查询,我们需要往两个表中插入数据。

下面是插入数据的代码:

INSERT INTO students (id, name, age) VALUES
(1, '张三', 20),
(2, '李四', 21),
(3, '王五', 22),
(4, '赵六', 23);

INSERT INTO scores (id, score) VALUES
(1, 80),
(2, 90),
(3, 85),
(4, 95);

3. 进行联合查询

在 MySQL 中进行联合查询,需要使用 UNION 关键字。在上面的例子中,我们要查询学生表中每个学生的姓名和年龄,以及他们的成绩。查询的语句如下:

SELECT students.name, students.age, scores.score
FROM students, scores
WHERE students.id = scores.id

这条 SQL 语句中,我们使用了SELECT 语句选择了学生表(students)中的姓名(name)和年龄(age),以及成绩表(scores)中的成绩(score)。同时,我们使用了 WHERE 语句来连接这两个表,并匹配两个表中的 id 列。

查询结果如下:

+------+------+-------+
| name | age | score |
+------+------+-------+
| 张三 | 20 | 80 |
| 李四 | 21 | 90 |
| 王五 | 22 | 85 |
| 赵六 | 23 | 95 |
+------+------+-------+

总结

使用 MySQL 进行 2 表联合查询,可以通过使用 UNION 关键字来实现。在执行联合操作前,需要先创建两个表,并插入数据。在查询语句中,可以使用 SELECT 语句来选择需要查询的列,使用 WHERE 语句来连接两个表中相匹配的列。这样可以获得一个有用的、整合过的查询结果。


数据运维技术 » 利用mysql实现2表联合查询(2表关联查询mysql)