MySQL结果集拼接是指在查询数据库时,将多个查询结果合并成一个结果集,这在处理复杂的查询需求时非常有用,以下是一个简单的示例,展示了如何使用MySQL的UNION
操作符进行结果集拼接。
1、准备数据
我们需要创建两个表,分别为students
和teachers
:
CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); CREATE TABLE teachers ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
向这两个表中插入一些数据:
INSERT INTO students (id, name, age) VALUES (1, '张三', 20); INSERT INTO students (id, name, age) VALUES (2, '李四', 22); INSERT INTO students (id, name, age) VALUES (3, '王五', 24); INSERT INTO teachers (id, name, age) VALUES (1, '赵六', 30); INSERT INTO teachers (id, name, age) VALUES (2, '孙七', 32); INSERT INTO teachers (id, name, age) VALUES (3, '周八', 34);
2、使用UNION
进行结果集拼接
现在,我们想要查询所有学生和教师的姓名和年龄,可以使用UNION
操作符将两个查询结果合并成一个结果集:
SELECT name, age FROM students UNION SELECT name, age FROM teachers;
执行上述查询后,将得到以下结果:
name | age |
张三 | 20 |
李四 | 22 |
王五 | 24 |
赵六 | 30 |
孙七 | 32 |
周八 | 34 |
注意:UNION
会自动去除重复的记录,如果需要保留重复记录,可以使用UNION ALL
操作符:
SELECT name, age FROM students UNION ALL SELECT name, age FROM teachers;
执行上述查询后,将得到以下结果:
name | age |
张三 | 20 |
李四 | 22 |
王五 | 24 |
赵六 | 30 |
孙七 | 32 |
周八 | 34 |
NULL | NULL |
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。