利用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, scoresWHERE 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 语句来连接两个表中相匹配的列。这样可以获得一个有用的、整合过的查询结果。