mysql19-联合查询

联合查询

基本概念:

联合查询时可合并多个相似的选择查询的结果集。等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL

联合查询:将多个查询的结果合并到一起(纵向合并):字段数不变,多个查询的记录数合并。

应用场景

  1. 将同一张表中不同的结果(需要对应多条查询语句来实现),合并到一起展示数据
  2. 最常见:在数据量大的情况下,会对表进行分表操作,需要对每张表进行部分数据统计,使用联合查询来将数据存放到一起显示。

基本语法

基本语法:
select 语句
union 【union选项】
select 语句

union选项:与select选项基本一样
distinct:去重,去掉完全重复的数据(默认的)

all:保存所有的结果

注意细节:union理论上只要保证字段数一样,不需要每次拿到的数据对应的字段类型一致。永远只保留第一个select语句对应的字段名

order by的使用

1.
在联合查询中,如果要使用order by,那么对应的select语句必须使用括号括起来

正确的语法要加上括号

2.
order by在联合查询中若想要生效,必须配合使用limit:而limit 必须跟对应的限制数量(通常可以使用一个较大的值:大于对应表的记录数)