mysql的联合查询
本节课重点
1.概念:union,是指将多个查询结果合并成一个结果显示。
2. 联合查询是针对查询结果的合并(多条select语句合并)
3.联合查询语法:
select 查询【决定字段名字】
union 查询选项
select 查询
…
4.联合查询要求:联合查询是结果联合显示
.多个联合查询的字段结果数量一致
.联合查询的字段来源于第一个查询语句的字段
5.查询选项:与select选项类似
.all:保留所有记录
.distinct:保留去重记录(默认)
6.步骤:
1.确定要进行多个表数据的联合操作
.表结构一致
.数据汇总
2.确定数据的要求:全部保留or去重
3.使用联合查询
7.演示案列
.使用联合查询将两张表的数据拼接到一起显示
select * from studentinfo union select * from studentinfo_01
.联合查询选项默认是distinct
select * from studentinfo union all select * from studentinfo_01
.联合查询不要求字段类型一致,只对数量的要求一致,而且字段与第一条查询语句相关(注意:如果数据不能对应,那么查询没有意义)
select sname from studentinfo union all select age from studentinfo_01
.
如果使用where对数据进行筛选,where针对的是select指令,而不是针对union结果
select * from studentinfo union select * from studentinfo_01 where sgender='男';
知识小结
1.union是负责将多次查询的结果统一拼凑显示
.记录数增加
.字段数不变(第一条sql指令决定)
union常用方式
.因为数据量大分表存储,然后统一查看或者统计
.根据不同维度对数据进行筛选,然后统一查看或者统计
.uoion默认是去重的,想要保留全部查询结果,需要使用union all