一、定义
联合查询是将多次查询(多次select语句),在记录上进行拼接(字段不会增加)
1.1基本语法
多条select语句构成,每一条select语句获取的字段必须严格一致
(但是字段类型无关)
select 语句1
union[union 选项]
select 语句2...
union 选项:与select选项一样
all:保留所有(不管重复)
distinct:去重,默认选项
1.2 示例
select * from `banner`
union
SELECT * from `banner` ;
1.3联合查询的意义
联合查询的意义有两个
1.查询同一张表,但需求不同:如查询学生信息,男生身高升序,女生身高降序
2.多表查询:(多表的结构一样,保存数据的结构也一样)
针对大数据量的表,有分表操作
- 示例:学生信息,男生身高升序,女生身高降序
(select * from my_student where sex = '男' order by age asc limit 9999)
union
(select * from my_student where sex = '女' order by age desc limit 9999)
备注:
orderby 在联合查询中应该注意两点
- 1.使用orderby 必须把select 语句用括号括起来
- 2.必须与limit搭配才能实现排序功能,limit 后面跟一个理论最大值即可