sql的union用法
sql中union是很常见的,尤其是创建视图时,完全离不开union。
SQL UNION 操作符合并两个或多个 SELECT 语句的结果,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
union包括union和union all两种语法,如下:
SQL UNION 语法
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
SQL UNION ALL 语法
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
两者的区别就是union all包括重复的数据。
说完了语法,下面以一个简单的例子介绍下。
先说表结构,很简单,两张表
teacher

student.

可以看到,两张表的表结构是一样的。
现在进行对first_name的union查询。
select first_name from teacher union select first_name from student;
查询结果如下:

可以看到没有重复的数据。
改为union all之后。
select first_name from teacher union all select first_name from student;
查询结果如下:

可以看到,数据是重复的。
但如果同时查询first_name和last_name呢?
select first_name, last_name from teacher union select first_name, last_name from student;
结果如下:

改为union all之后
select first_name, last_name from teacher union all select first_name, last_name from student;
查询结果:

可以看到,结果是一样的,因为first_name和last_name在一起的话判断的话,没有重复的数据。
参考:
http://www.w3cschool.cc/sql/sql-union.html
sql的union用法的更多相关文章
- SQL JOIN 和 UNION 用法
		1 SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P ... 
- SQL 中ROLLUP 用法
		SQL 中ROLLUP 用法 ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集. 下面是 CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的所有 ... 
- 标准SQL语言的用法
		原文链接:http://www.ifyao.com/2015/05/18/%E6%A0%87%E5%87%86%E7%9A%84sql%E8%AF%AD%E8%A8%80%E4%BD%BF%E7%94 ... 
- mysql 中合并查询结果union用法 or、in与union all 的查询效率
		mysql 中合并查询结果union用法 or.in与union all 的查询效率 (2016-05-09 11:18:23) 转载▼ 标签: mysql union or in 分类: mysql ... 
- SQL语句---nvl 用法
		SQL语句---nvl 用法 一NVL函数是一个空值转换函数 NVL(表达式1,表达式2) 如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值. 该函数的目的是把一个空值(nul ... 
- SQL 语句日期用法及函数
		SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数:select day(cl_s_time) as '日' from class --返回天 ... 
- 9.mybatis动态SQL标签的用法
		mybatis动态SQL标签的用法 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么 ... 
- SQL中Union和UnionAll的使用
		SQL中Union和UnionAll的使用 1.建立一个Student表 ,如下: 2.建立一个Teacher表,如下: 3.使用Union,将去重并组合表,效果: 4.使用Union All,不去重 ... 
- oracle数据库中sql%notfound的用法
		SQL%NOTFOUND 是一个布尔值.与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true.否则返回fal ... 
随机推荐
- 函数lock_rec_has_expl
			判断是否预加锁的模式 要强壮于 已添加的lock锁模式 /*********************************************************************// ... 
- POJ 3259  Wormholes【Bellman_ford判断负环】
			题意:给出n个点,m条正权的边,w条负权的边,问是否存在负环 因为Bellman_ford最多松弛n-1次, 因为从起点1终点n最多经过n-2个点,即最多松弛n-1次,如果第n次松弛还能成功的话,则说 ... 
- Linux 系统时钟(date) 硬件时钟(hwclock)
			/********************************************************************* * Linux 系统时钟(date) 硬件时钟(hwclo ... 
- 【自动化测试】Selenium常用的键盘事件
			send_keys(Keys.BACK_SPACE) 删除键(BackSpace)send_keys(Keys.SPACE) 空格键(Space)send_keys(Keys.TAB) 制表键(Tab ... 
- AIX 第6章 指令记录
			AIX 存储管理 物理卷的概念和管理 卷组的概念和管理 逻辑卷的基本概念和管理 文件系统在逻辑卷上构建 日志文件系统的管理 镜像提高数据可用性 应用系统所需的存储切换 换页空间的功能和管理 在 ... 
- 剑指offer—第二章算法之二分查找(旋转数组的最小值)
			旋转数组的最小数字 题目:把一个数组最开始的若干元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如:数组{3,4,5,1,2}为{1,2,3,4, ... 
- ViewPager 滑动页(四)
			需求:在ViewPager 滑动页(三) 基础上,减少界面层级. 效果图: 图层数变更前: 图层数变更后: 主要代码实现: <?xml version="1.0" encod ... 
- jquery easyui datagrid字段绑定问题
			表字段为G_XIAN,生成PO对象时为private String GXian; datagrid字段必须写为gXian,否则数据无法正确绑定. 总结:不管VO对象中字段名称首字母是否大写,在data ... 
- PHP include()和require()方法的区别
			本文总结了PHP的include()和require()两种包含外部文件的方法的不同之处.基本上就是,加载失败的处理方法,性能,以及使用弹性方面的不同. PHP的include()和require() ... 
- 获取Request请求的路径信息
			从Request对象中可以获取各种路径信息,以下例子: 假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下 String p ... 
