联合查询
是可合并多个相似的选择查询的结果集,等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,
也就是将多个查询的结果合并到一起(纵向合并):字段数不变,多个查询的记录数合并
使用谓词为 UNION 或 UNION ALL.
应用场景
1. 将同一张表中不同的结果(需要对应多条查询语句来实现),合并到一起展示数据
eg:男生身高升序排序,女生身高降序排序
select * from my_student where gener='男' order by stu_height asc;
select * from my_student where gener='女' order by stu_height desc;
2. 最常见:在数据量大的情况下,会对表进行分表操作,需要对每张表进行部分数据统计,使用联合查询来将数据存放到一起显示
eg:QQ1表获取在线数据,QQ2表获取在线数据 -->将所有在线的数据显示出来
基本语法:select 语句 Union [union选项] select 语句;
union选项:与select选项基本一样
Distinct:去重,去掉完全重复的数据(默认的)
ALL:保存所有的结果
在联合查询中如果要使用order by,
1. 那么对应的select语句必须使用括号括起来
2. order by在联合查询中若要生效,必须配合使用limit:而limit后面必须跟对应的限制数量(通常可以使用一个较大的值:大于对应表的记录数)