MySQL组合查询
简介
所谓组合查询,就是执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回
使用组合查询的两种情况:
- 在单个查询中从不同的表返回类似结构的数据
- 对单个表执行多个查询,按单个查询返回数据
多个SELECT语句之间使用UNION关键字连接,返回的是多条SELECT语句返回结果的并集(即去掉重复的结果,这是默认的),如果不想去掉重复的结果,就在UNION关键字后加上ALL
实例
单个SELECT语句
查询姓名中包含“赵”字的学生
1 | SELECT * FROM t_student WHERE student_name LIKE '%赵%'; |
查询年龄大于10岁的学生
1 | SELECT * FROM t_student WHERE age>10; |
使用UNION
返回两条SELECT语句结果的并集,去掉了重复的结果
1 | SELECT * FROM t_student WHERE student_name LIKE '%赵%' UNION SELECT * FROM t_student WHERE age>10; |
使用UNION ALL
不去掉重复的结果
1 | SELECT * FROM t_student WHERE student_name LIKE '%赵%' UNION ALL SELECT * FROM t_student WHERE age>10; |
进行排序
在SQL语句的最后加上ORDER BY即可
1 | SELECT * FROM t_student WHERE student_name LIKE '%赵%' UNION ALL SELECT * FROM t_student WHERE age>10 ORDER BY id; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论