linux之SQL语句简明教程---UNION

UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION 的一个限制是两个
SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION 这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。

UNION 的语法如下:

[SQL 语句 1]

UNION

[SQL 语句 2];

假设我们有以下的两个表格,

Store_Information 表格

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
Los Angeles 300 08-Jan-1999
Boston 700 08-Jan-1999

Internet Sales 表格

Txn_Date Sales
07-Jan-1999 250
10-Jan-1999 535
11-Jan-1999 320
12-Jan-1999 750

而我们要找出来所有有营业额 (Sales) 的日子。要达到这个目的,我们用以下的 SQL 语句:

SELECT Txn_Date FROM Store_Information

UNION

SELECT Txn_Date FROM Internet_Sales;

结果:

Txn_Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999

有一点值得注意的是,如果我们在任何一个 SQL 语句 (或是两句都一起) 用 SELECT DISTINCT Txn_Date 的话,那我们会得到完全一样的结果。

Linux实测结果:

1.创建表

2.插入表记录

3.UNION(并)两个表

时间: 2024-11-18 15:40:28

linux之SQL语句简明教程---UNION的相关文章

linux之SQL语句简明教程---UNION ALL

UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起. UNION ALL 和UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复. UNION ALL 的语法如下: [SQL 语句 1] UNION ALL [SQL 语句 2]; 我们用和上一页同样的例子来显示出 UNION ALL 和 UNION 的不同.同样假设我们有以下两个表格, Store_Information 表格 Store_Name Sales Txn_Da

linux之SQL语句简明教程

本教程参考http://www.1keydata.com/cn/sql/ 目的是让初学者了解linux下Mysql的操作,但是我仍想侧重于SQL语句的讲解 sql语句的学习将按照下图的流程: 当然在这之前我们需要简单了解下linux下mysql的安装,以及基本操作. 关于如何安装和使用linux下mysql请参考:http://blog.csdn.net/u013018721/article/details/34889367 转载请注明:小刘

linux之SQL语句简明教程---INSERT INTO

到目前为止,我们学到了将如何把资料由表格中取出.但是这些资料是如果进入这些表格的呢? 这就是这一页 (INSERT INTO) 和下一页 (UPDATE) 要讨论的. 基本上,我们有两种作法可以将资料输入表格中内.一种是一次输入一笔,另一种是一次输入好几笔.我们先来看一次输入一笔的方式. 依照惯例,我们先介绍语法.一次输入一笔资料的语法如下: INSERT INTO "表格名" ("栏位1", "栏位2", ...) VALUES ("

linux之SQL语句简明教程---CREATE VIEW

视观表 (View) 可以被当作是虚拟表格.它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料. 建立一个视观表的语法如下: CREATE VIEW "VIEW_NAME" AS "SQL 语句"; "SQL 语句" 可以是任何一个我们在这个教材中有提到的 SQL. 来看一个例子.假设我们有以下的表格: Customer 表格 栏位名称 资料种类 First_Name char(50) Last_N

linux之SQL语句简明教程---Subquery

我们可以在一个 SQL 语句中放入另一个 SQL 语句.当我们在 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery 的架构. Subquery 的作用是什么呢?第一,它可以被用来连接表格.另外,有的时候 subquery 是唯一能够连接两个表格的方式. Subquery 的语法如下: SELECT "栏位1" FROM "表格" WHERE "栏位2" [比较运算素] (SELECT "

linux之SQL语句简明教程---AND OR

在上一页中,我们看到 WHERE 指令能够被用来由表格中有条件地选取资料. 这个条件可能是简单的 (像上一页的样例).也可能是复杂的. 复杂条件是由二或多个简单条件透过 AND 或是 OR的连接而成.一个 SQL 语句中能够有无限多个简单条件的存在. 复杂条件的语法例如以下: SELECT "栏位名" FROM "表格名" WHERE "简单条件" {[AND|OR] "简单条件"}+; {}+ 代表{}之内的情况会发生一或多

linux之SQL语句简明教程---UPDATE DELETE FROM

我们有时候可能会需要修改表格中的资料.在这个时候,我们就需要用到 UPDATE 指令.这个指令的语法是: UPDATE "表格名" SET "栏位1" = [新值] WHERE "条件"; 最容易了解这个语法的方式是透过一个例子.假设我们有以下的表格: Store_Information 表格 Store_Name Sales Txn_Date Los Angeles 1500 05-Jan-1999 San Diego 250 07-Jan-1

linux之SQL语句简明教程---SELECT

SQL是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出.从这一句回答中,我们马上可以看到两个关键字: 从 (FROM) 数据库中的表格内 选出 (SELECT).(表格是一个数据库内的结构,它的目的是储存资料.在 表格处理这一部分中,我们会提到如何使用 SQL 来设定表格.) 我们由这里可以看到最基本的 SQL 架构: SELECT "栏位名" FROM "表格名"; 我们用以下的例子来看看实际上是怎么用的.假设我们有以下这个表格: Store_In

linux之SQL语句简明教程---CONCATENATE

有的时候,我们有需要将由不同栏位获得的资料串连在一起.每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT( ) Oracle: CONCAT( ), || SQL Server: + CONCAT( ) 的语法如下: CONCAT (字串1, 字串2, 字串3, ...) 将字串1.字串2.字串3,等字串连在一起.请注意,Oracle 的 CONCAT( ) 只允许两个参数:换言之,一次只能将两个字串串连起来.不过,在Oracle中,我们可以用 '||' 来一次串连多个字串.