Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识

关于SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
注意
1.UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
2.UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
SQL UNION 语法(结果集没有重复值):


代码如下:

SELECT s FROM table1
UNION
SELECT s FROM table2

SQL UNION ALL 语法(结果集有重复的值):


代码如下:

SELECT s FROM table1
UNION ALL
SELECT s FROM table2

例子表:
 表一(Employees_China):
    E_ID E_Name
    01    Zhang, Hua
    02    Wang, Wei
    03    Carter, Thomas
    04    Yang, Ming
 表二(Employees_USA):
    E_ID   E_Name
    01    Adams, John
    02    Bush, George
    03    Carter, Thomas
    04    Gates, Bill
实例:
关于UNION: 


代码如下:

 
SELECT E_Name FROM Employees_China
  UNION
  SELECT E_Name FROM Employees_USA

结果如下(去除了重复数据):


















E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill

关于UNION ALL:


代码如下:

  SELECT E_Name FROM Employees_China   
  UNION ALL

  SELECT E_Name FROM Employees_USA

 结果如下(还保留了重复的数据):




















E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Carter, Thomas
Gates, Bill

(0)

相关推荐

  • Mysql联合查询UNION和UNION ALL的使用介绍

    一.UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行.UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同.SQL UNION 语法: 复制代码 代码如下: SELECT column_name FROM table1UNIONSELECT column_name FROM table2 注释:默认地,UNION 操作符选取不同的值.如

  • SQL语句之Union和Union All的用法

    SQL中Union和Join语句非常类似,但是Union有一个限制条件:两个 SQL 语句所产生的栏位需要是同样的资料种类,最后的结果会看到不同的资料值. 格式: [SQL 语句 1] UNION [SQL 语句 2] 例如: 表store_info 和表internet_sales 使用Union语句: 复制代码 代码如下: SELECT Date FROM Store_Info UNION SELECT Date FROM Internet_Sales 结果: 或: 复制代码 代码如下: S

  • sqlserver Union和SQL Union All使用方法

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2 注释:默认地,UNION 操作符选取不同的值,即UNION是去了重

  • MySQL中使用or、in与union all在查询命令下的效率对比

    OR.in和union all 查询效率到底哪个快? 网上很多的声音都是说union all 快于 or.in,因为or.in会导致全表扫描,他们给出了很多的实例. 但真的union all真的快于or.in? EXPLAIN SELECT * from employees where employees.first_NAME ='Georgi' UNION ALL SELECT * from employees where employees.first_NAME ='Bezalel' 这条语

  • sql Union和Union All的使用方法

    UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类.另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT). union只是将两个结果联结起来一起显示,并不是联结两个表 UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 假设我们有以下的两个表格, Store_Information 表格 store_name Sales Date Los Angeles $1500 Jan-05-1999 S

  • sql 查询结果合并union all用法_数据库技巧

    复制代码 代码如下: --合并重复行 select * from A union select * from B --不合并重复行 select * from A union all select * from B 按某个字段排序 --合并重复行 select * from ( select * from A union select * from B) AS T order by 字段名 --不合并重复行 select * from ( select * from A union all se

  • Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识

    关于SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 注意: 1.UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. 2.UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名. SQL UNION 语法(结果集没有重复值): 复制代码 代码如下: SELECT s FROM table1 UNION SELECT s FROM t

  • Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)

    SQL 将变量定义为Table类型 在平时定义sql语句中的变量时通常我们定义的都是像char,varchar,nvarchar,int........,那如何让变量作为一个像虚拟表一样呢,其实很简单. 基本语法: 复制代码 代码如下: declare @t table(列名1 列的数据类型1 , 列名2 列的数据类型2 , ...............) insert into @t(列名1 ,列名2 ,...............) values (...............) [c

  • Sql学习第一天——SQL 练习题(建表/sql语句)

    题目:来自Madrid且订单数少于3的消费者   建表: 复制代码 代码如下: set nocount on --当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数).当 SET NOCOUNT 为 OFF 时,返回计数 use SY GO if object_Id('dbo.Orders') is not null drop table dbo.Orders GO if object_Id('dbo.Customers') is not nu

  • SQL学习笔记一SQL基础知识

    常用字段类型bit(0和1),datetime,int,varchar,nvarchar(可能含有中文用nvarchar) Varchar,nvarchar和char(n)的区别char(n)不足长度n的部分用空格填充. SQL语句中,字符串用单引号. SQL语句大小写不敏感.不敏感是指SQL的关键字,字符串值还是敏感的. 简单的INSERT语句 INSERT INTO Person(Id,Name,Age) VALUES(1,'Jim',20) 常用int和uniqueidentifier做主

  • Sql学习第二天——SQL DML与CTE概述

    DML (Data Manipulation Language) 与 CTE (Common Table Expression) 今天看书时遇到的两个缩写,不知道其含义,于是就百度了一下,特地在此记录下来,以便于下次复习使用. 关于DML (Data Manipulation Language): 数据操纵语言,用户能够查询数据库以及操作已有数据库中的数据的计算机语言.具体是指是UPDATE更新.INSERT插入.DELETE删除. 关于CTE (Common Table Expression)

  • 带例子详解Sql中Union和Union ALL的区别

    目录 前言 提前准备 测试 Union Union ALL Union Union All union Union All 最后 前言 一段时间没有用Union和Union,再用的时候忘了怎么用了...所以做一篇文章来记录自己学Union和Union的经历. 提前准备 在Sql Server 创建两张表,下面是创建表sql语句. create table Student1( Id varchar(50) not null, Name varchar(50) not null, Age int n

  • sql学习之CASE WHEN THEN ELSE END的用法

    超强:SQL命令中的case...when...then...else...end条件查询(不同于where) 与 类型转换的用法 case...when...then...else...end,是在from前面,可以改变记录中某字段的值,不能决定是否显示该记录: where,是在from后面,不可以改变记录中某字段的值,但可以决定是否显示该记录. case...when...then...else...end,可用于对同一记录的多个字段求和,带分支判断. 另外,对字段判断和处理,往往需要强制类

  • sql语句优化之SQL Server(详细整理)

    MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,

随机推荐