( 11 )MySQL中的联合查询

联合查询

联合查询 : 将多次查询(多条select语句) 在记录上进行拼接(字段不会增加)
基本语法:
多条select语句构成,每条select语句获取的字段数必须严格一致(但字段数据类型无关)
select 语句1,
union [union 选项]
select 语句2 ...
union选项 : ALL:保留所用, Distinct : 去重复(默认的)
意义:
1.查询同一张表,但是需求不同 ,例 : 查询学生信息,男生年龄升序,女生年龄降序
2.多表查询,多张表的结构是完全一样的保存的数据也一样
如何实现学生表中男生身高升序,女生升高降序?
联合查询中 Order by 的使用
1,在联合查询中order by 不能直接使用,需要对查询语句使用括号才行
2,若要order by生效,必须搭配limit limit使用限定的最大数即可
eg:
( select * from student where sex = '男' order by age asc limit 999999 )
union
( select * from student where sex = '女' order by age desc limit 999999 );
 

 
 
 
posted @ 2017-10-30 16:18  -老衲-  阅读(135)  评论(0编辑  收藏  举报