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

Store_Information 表格
    store_name  Sales  Date
  Los Angeles $1500 Jan-05-1999
  San Diego   $250   Jan-07-1999
  Los Angeles $300  Jan-08-1999
  Boston         $700  Jan-08-1999
 
  Internet Sales 表格
  Date              Sales
  Jan-07-1999 $250
  Jan-10-1999 $535
  Jan-11-1999 $320
  Jan-12-1999 $750
 
 而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句:

 SELECT Date FROM Store_Information UNION SELECT Date FROM Internet_Sales

结果: Date
   Jan-05-1999
   Jan-07-1999
   Jan-08-1999
   Jan-10-1999
   Jan-11-1999
   Jan-12-1999
有一点值得注意的是,如果我们在任何一个 SQL 语句 (或是两句都一起) 用 "SELECT DISTINCT Date" 的话,那我们会得到完全一样的结果。

2. Union All
UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL 和 UNION 不同之处在于UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。 UNION ALL 的语法如下: [SQL 语句 1]

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

Store_Information 表格
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
  Internet Sales 表格
Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750

而我们要找出有店面营业额以及网络营业额的日子。要达到这个目的,我们用以下的 SQL 语句:

  SELECT Date FROM Store_Information UNION ALL SELECT Date FROM Internet_Sales 结果: Date
Jan--
Jan--
Jan--
Jan--
Jan--
Jan--
Jan--
Jan--

3.更多sql示例

   --合并重复行
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
select * from B) AS T
order by 字段名
  //sql server(WINDOWS平台上强大的数据库平台)版
Select * From (
select top id,adddate,title,url from bArticle where ClassId='' order by adddate desc) A
Union All
Select * From (
select top id,adddate,title,url from bArticle where ClassId='' order by adddate desc) B
Union All
Select * From (
select top id,adddate,title,url from bArticle where ClassId='' order by adddate desc) C
Union All
Select * From (
select top id,adddate,title,url from bArticle where ClassId='' order by adddate desc) D
  //MySQL(和PHP搭配之最佳组合)版
Select * From (
select id,adddate,title,url from bArticle where ClassId='' order by adddate desc limit ,) A
Union All
Select * From (
select id,adddate,title,url from bArticle where ClassId='' order by adddate desc limit ,) B
Union All
Select * From (
select id,adddate,title,url from bArticle where ClassId='' order by adddate desc limit ,) C
Union All
Select * From (
select id,adddate,title,url from bArticle where ClassId='' order by adddate desc limit ,) D

原文:http://blog.csdn.net/xsqhl1314/article/details/5689223

SQL如何合并查询结果的更多相关文章

  1. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  2. SQL多表合并查询结果

    两表合并查询,并同时展示及分页SELECT a.* FROM ( ( SELECT punycode, `domain`, 'Success' AS state, add_time, AS refun ...

  3. SQL SERVER连接、合并查询

    ----创建测试表MyStudentInfoCREATE table MyStudentInfo(  Id int not null primary key,  Name varchar(16),  ...

  4. sql 内连接 子查询 合并查询

    -- 内连接:-- 显示员工姓名.工资和公司所在地 select e.ename, e.sal, d.dname from emp e,dept d; -- 笛卡尔积 select e.ename, ...

  5. SQL使用union合并查询结果(转载)

    1.UNION的作用  UNION 指令的目的是将两个 SQL 语句的结果合并起来.从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料. UNION 的一 ...

  6. 6、SQL Server 数据查询

    一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的 ...

  7. SQL Server 数据查询 整理

    一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的 ...

  8. oracle SQL多表查询

    SQL多表查询 1.集合理论 1.1 什么是集合 具有某种特定性质的事物的总体. 集合的特性:无序性.互异性.确定性. 一个集合可以小到从一个表中取出一行中的一列.              1 ro ...

  9. oracle的多表合并查询-工作心得

    本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 11 月 29 日 原地址:https://niaobulashi.com/archives/oracle-select-al ...

随机推荐

  1. cf459A Pashmak and Garden

    A. Pashmak and Garden time limit per test 1 second memory limit per test 256 megabytes input standar ...

  2. [置顶] viewPager控制滑动速度和时间

    遇到如下问题:viewpager滑动时如果想跳过很多条直接到最后一条,中间会黑屏.黑屏是因为中间的view没有加载出来的缘故. stackOverflow上看到的解决方案,在这里记录一下, publi ...

  3. 从U盘安装win8系统

    http://blog.csdn.net/pipisorry/article/details/40662397 lz提示,下面也能够用于win7.linux等操作系统的安装 一.下载windows安装 ...

  4. Format类及其子类功能和使用方法具体解释

    Format类及其子类功能和使用方法具体解释 1.   Format类结构: ·        java.lang.Object ·        java.text.Format ·         ...

  5. maven01 hello maven

    安装省略,注意jdk的版本1.7: 目录:

  6. web.config详解

    在开发中经常会遇到这样的情况,在部署程序时为了保密起见并不将源代码随项目一同发布,而我们开发时的环境与部署环境可能不一致(比如数据库不一样),如果在代码中保存这些配置这些信息部署时需要到用户那里更改代 ...

  7. cvReleaseImage()函数说明

    IplImage *tmp = NULL; 这一句话定义了一个IplImage类型的指针变量tmp,这个指针变量在内存中的示意图为: tmp = cvLoadImage(file_path); 这句话 ...

  8. IO-03. 求整数均值

    /** *A3-IO-03. 求整数均值(10) *C语言实现 *测试已通过 */ #include "stdio.h" int main() { int a,s,d,f; sca ...

  9. 修改默认的undo_retention参数设置

    昨天,一个朋友的数据库数据被误操作删除掉了,请求我帮忙进行恢复. 数据库版本是Oracle10g Release 2的,我首先想到的是使用Flashback Query进行闪回恢复,不幸的是ORA-0 ...

  10. 论山寨手机与Android联姻 【2】手机OS成为核心

    手机凭借通话和短信这两项基本功能,积累了用户,开拓了市场.但是用户的需求是永无止境的,对于手机制造商来说,紧跟用户需求,拓展手机功能,是机会也是挑战. 1988年第一款数码相机,在日本上市.数码相机的 ...