码迷,mamicode.com
首页 > 数据库 > 详细

SQL-union

时间:2016-12-23 22:56:33      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:隐式   效率   数据类型   sel   应用   汇总   sid   nbsp   英语   

集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定。(可以用来连接多个结果)
联合(union)与连接(join)不一样

select tName,tSex from teacher
union
select sName,sSex from student
UNION合并两个查询结果集,并且将其中完全重复的数据行合并为一条
select tName,tSex from teacher union all
select sName,sSex from student
Union因为要进行重复值扫描,所以效率低,因此如果不是确定要合并重复行,那么就用UNION ALL


简单的结果集联合(老师、学生):
select tName,tSex from teacher union
select sName,sSex from student
基本的原则:每个结果集必须有相同的列数;每个结果集的列必须类型相容。
select tName,tSex,-1 from teacher union
select sName,sSex,sClassId from student
联合:将多个结果集合并成一个结果集。union(去除重复,相当于默认应用了distinct)、union all
常见应用:底部汇总。使用Union all

 

要求在一个表格中查询出学生的英语最高成绩、最低成绩、平均成绩
查询结果为3行:
select ‘english最高成绩‘,max(english) from score
union all
select ‘english最低成绩‘,min(english) from score
union all
select ‘english平均‘,avg(english) from score
查询结果为1行:
Select max(english),min(english),avg(english) from score;

SQL-union

标签:隐式   效率   数据类型   sel   应用   汇总   sid   nbsp   英语   

原文地址:http://www.cnblogs.com/hao-1234-1234/p/6216026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!