SQL-union
集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定。(可以用来连接多个结果)
联合(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;
相关文章
- 使用DBeaver一次性执行mysql多条sql
- SQL SERVER Transactional Replication中添加新表如何不初始化整个快照
- SQL SERVER 2012启动失败 because upgrade step 'SSIS_hotfix_install.sql' 失败
- SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
- oracle v$sqlarea 分析SQL语句使用资源情况 确认是否绑定变量
- [SQL] sql server中如何查看执行效率不高的语句
- MySQL批量SQL插入性能优化
- LINQ to SQL语句 Union/Intersect/Except
- Sql Server 2008R2 在使用时应该启动哪些服务?
- sql server判断某个表是否存在
- LINQ to SQL语句 Union/Intersect/Except
- Sql Server中sql语句自动换行
- SQL SERVER服务器链接连接(即sql server的跨库连接)
- 怎样能写出性能优良的SQL语句 从sql语句提高数据库的性能
- 【sql优化】(大表小技巧)有时候 2 小时的 SQL 操作,可能只要 1 分钟
- Node.js:insert-sql帮助开发者生成SQL插入语句
- java.sql.SQLException: Unknown system variable 'tx_isolation' 问题解决
- 图解SQL的inner join、left join、right join、full outer join、union、union all的区别
- sql 精读(五) 标准 SQL窗口函数一
- sql 精读(三) 标准 SQL 中的编号函数示例
- 使用Mysql Explain 查询sql执行计划