【SQL】联合语句
一、UNION操作符
UNION 操作符用于合并两个结果集,在合并的同时去掉重复行,并按合并后结果的第一列升序排列。合并后结果集的列名由第一个结果集的列名确定。
UINON连接的两个结果集必须具有相同的列数,并且各列具有相同的数据类型。注意这里说的是相同的数据类型,而不是相同的列名!
示例:两个表的列名不同,但具有相同的数据类型,同样可以进行UNION合并,并进行去重、排序处理。
(1)表T1、T2的表结构
SQL> desc t1;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(2)
NAME VARCHAR2(10)
AGE NUMBER(3)
SQL> desc t2;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(2)
ENAME VARCHAR2(10)
AGE NUMBER(3)
(2)表T1、T2中的数据
SQL> select * from t1;
ID NAME AGE
---------- ---------- ----------
1 wanglili 22
2 maling 22
3 mateng 22
4 yinguopeng 22
SQL> select * from t2;
ID ENAME AGE
---------- ---------- ----------
2 zhangfang 22
1 wanglili 22
3 mateng 22
4 zhanghui 22
(3)UNION合并后,去重排序,按第一个结果集的列名返回合并后的列名
SQL> select * from t1
2 union
3 select * from t2;
ID NAME AGE
---------- ---------- ----------
1 wanglili 22
2 maling 22
2 zhangfang 22
3 mateng 22
4 yinguopeng 22
4 zhanghui 22
6 rows selected.
二、UNION ALL 操作符
UNION ALL 同样可以合并两个结果集除了不去重、不排序以外和UNION完全相同。因为不去重、不排序的原因,UNION ALL比UNION效率高很多,所以,当对结果集要求不高的时候尽量使用UNION ALL。
SQL> select * from t1
2 union all
3 select * from t2;
ID NAME AGE
---------- ---------- ----------
1 wanglili 22
2 maling 22
3 mateng 22
4 yinguopeng 22
2 zhangfang 22
1 wanglili 22
3 mateng 22
4 zhanghui 22
8 rows selected.
三、INTERSECT操作符
INTERSECT用于返回两个结果集的交集,去掉重复值,并且会以第一列的升序排列。
示例:查询两个表中同时存在的人员信息。
SQL> select * from t1
2 intersect
3 select * from t2;
ID NAME AGE
---------- ---------- ----------
1 wanglili 22
3 mateng 22
四、MINUS操作符
MINUS用于返回在第一个结果集中存在,而在第二个结果集中不存在的数据,并且会以第一列升序排列。
示例:查询T1中存在,而T2中不存在的数据。
SQL> select * from t1
2 minus
3 select * from t2;
ID NAME AGE
---------- ---------- ----------
2 maling 22
4 yinguopeng 22
【SQL】联合语句的更多相关文章
- 画图解释SQL联合语句
画图解释SQL联合语句 http://blog.jobbole.com/40443/ 我认为 Ligaya Turmelle 的关于SQL联合(join)语句的帖子对于新手开发者来说是份很好的材料.S ...
- 画图解释 SQL join 语句
转:http://blog.jobbole.com/40443/ 本文由 伯乐在线 - 奇风余谷 翻译.未经许可,禁止转载!英文出处:Jeff Atwood.欢迎加入翻译组. 我认为 Ligaya T ...
- 转:画图解释 SQL join 语句
画图解释 SQL join 语句 我认为 Ligaya Turmelle 的关于SQL联合(join)语句的帖子对于新手开发者来说是份很好的材料.SQL 联合语句好像是基于集合的,用韦恩图来解释咋一看 ...
- SQL join 语句 画图果然更容易理解
我认为 Ligaya Turmelle 的关于SQL联合(join)语句的帖子对于新手开发者来说是份很好的材料.SQL 联合语句好像是基于集合的,用韦恩图来解释咋一看是很自然而然的.不过正如在她的帖子 ...
- SQL联合查询(内联、左联、右联、全联)的语法(转)
最近在做一个比较复杂的业务,涉及的表较多,于是在网上找了一些sql联合查询的例子进行研究使用. 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer j ...
- 15个初学者必看的基础SQL查询语句
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...
- SQL 联合索引 与 单一列的索引 比较
背景: 公司业务迅速扩展,很多网站.接口都因为大流量的数据,发生服务器习惯性死机:一条sql查询语句只能适用于一定的网络环境,没有优化的查询当遇上大数据时就不适用了. 本文主旨: 讨论什么情况下能利用 ...
- (转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- SQL联合索引 与 单一列的索引
SQL联合索引 与 单一列的索引 标签: sqlwebobjectstatistics优化磁盘 2012-06-12 13:46 27992人阅读 评论(1) 收藏 举报 分类: 数据库(94) ...
随机推荐
- STM32串口IAP实验笔记
STM32的IAP功能确实方便,以前对此如何实现有所了解,但是一直没去测试,这两天来练了下,可谓困难重重,搞了两天问题也一一解决,下面做些简要的笔记 IAP就是在线应用编程,方便程序升级,可以不用打开 ...
- 爬虫——response中获取的不带主域名的url的拼接
scrapy中response提取的没有主域名的url拼接 # 1.导入urllib的parse # 2.调用parse.urljoin()进行拼接,例子中response.url会自动提取出当前页面 ...
- printf()参数的处理
下面程序的输出为? #include <stdio.h> int main(void) { ,b=,c=; printf(),(c = c*)); ; } 答案是110..40..60 这 ...
- hdu_1003_Max Sum_201311271630
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- EasyUI 在textbox里面输入数据敲回车后查询和普通在textbox输入数据敲回车的区别
EasyUI实现回车键触发事件 $('#id').textbox('textbox').keydown(function (e) { if (e.keyCode == 13) { alert('ent ...
- hive 报错/tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x
启动hive时报例如以下错误:/tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x 这是/tmp/hive文 ...
- zoj1940
链接:点击打开链接 题意:三维搜索'S'为起点,'E'为终点,求走出的最短时间 代码: #include <iostream> #include <stdio.h> #incl ...
- 64位BASM学习随笔(一)
64位BASM学习随笔(一) Delphi的BASM一直是我最喜爱的内嵌汇编语言,同C/C++的内联汇编相比,它更方便,更具灵活性,由于C/C++的内联汇编仅仅能是或插入式的汇编代码,函数花括号 ...
- Git版本号控制:Git分支处理
http://blog.csdn.net/pipisorry/article/details/46958699分支的意义创建分支能够避免提交代码后对主分支的影响,同一时候也使你有了相对独立的开发环境. ...
- Codeboy Blog的搭建
本文介绍了codeboy.me站点的搭建过程. 站点使用了jeykll进行构建.在CleanBlog等模板的基础上进行改造. jekyll是一个简单的免费的Blog生成工具,类似WordPress.可 ...