今天看到 三个查询运算符,给大家分享分享

为此我建立了两张表分别为 Articles 和  newArticles

我建立的时候,只建立了一张表 Articles   ,表 newArticles 是根据SQL语句

SELECT * INTO newArticles FROM Articleszhij

直接创建的

显示数据为


UNION (ALL)

UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中
任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION AL
L),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自
TABLE2。

SELECT Articles_Title  FROM dbo.newArticles
UNION
SELECT Articles_Title FROM Articles

显示效果

SELECT Articles_Title  FROM dbo.newArticles
UNION ALL
SELECT Articles_Title FROM Articles

显示效果


EXCEPT(ALL)

EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重
复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消
除重复行。

SELECT Articles_Title FROM Articles
EXCEPT
SELECT Articles_Title FROM dbo.newArticles

显示效果

SELECT Articles_Title  FROM dbo.newArticles
EXCEPT
SELECT Articles_Title FROM Articles

显示效果

提示:数据的不同和表查询的顺序有关;  因版本问题, EXCEPT(ALL) 无法查询;


INTERSECTALL(ALL)

INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复
行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),
不消除重复行。

SELECT Articles_Title FROM Articles
INTERSECT
SELECT Articles_Title FROM dbo.newArticles

显示效果

提示:因版本问题, INTERSECTALL(ALL)  无法查询;


总结: UNION 返回两个结果集的并集 重复行合并,UNION ALL, 返回两个结果集的并集,重复行 不合并

   EXCEPT 返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)

INTERSECT 返回 两个结果集的交集(即两个查询都返回的所有非重复值)

限制条件:

(1)所有查询中的列数和列的顺序必须相同
(2)比较的两个查询结果集中的列数据类型可以不同但必须兼容。
(3)比较的两个查询结果集中不能包含不可比较的数据类型(xml、text、ntext、image 或非二进制 CLR 用户定义类型)的列
(4)返回的结果集的列名与操作数左侧的查询返回的列名相同。ORDER BY 子句中的列名或别名必须引用左侧查询返回的列名。
(5)不能与 COMPUTE 和 COMPUTE BY 子句一起使用。
(6)通过比较行来确定非重复值时,两个 NULL 值被视为相等。(EXCEPT 或 INTERSECT 返回的结果集中的任何列的为空性与操作数左侧的查询返回的对应列的为空性相同。)

[SQL 高级查询运算符的用法 UNION (ALL),EXCEPT(ALL),INTERSECT(ALL) ]的更多相关文章

  1. SQL高级查询技巧

    SQL高级查询技巧   1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重 ...

  2. SQL 高级查询(层次化查询,递归)

    SQL 高级查询 前面我们写了一下 SQL 的极简入门,今天来说点高级查询.没看到的朋友可以点击下面链接查看. 1 小时 SQL 极速入门(一) 1 小时 SQL 极速入门(二) 1 小时 SQL 极 ...

  3. SQL高级查询基础

    1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...

  4. MYSQL SQL高级查询技巧

    1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. ...

  5. SQL————高级查询

    高级查询 --连接查询 select * from 表1,表2 ————形成笛卡尔积 select * from 表1,表2 where 表1.主键=表2.外键  ————主外键位置可以互换 --jo ...

  6. SQL高级查询

    高级查询: 一.多表链接 1,普通查询 select * from 表名,表名 where 表名.列名 = 表名.列名 2,join链接 select * from 表名 join 表名 on 表名. ...

  7. Oracle数据库——SQL高级查询

    一.涉及内容 1.掌握SELECT语句的多表连接查询. 2.掌握SELECT语句的子查询. 二.具体操作 (一)根据Oracle数据库scott方案下的emp表和dept表,完成下列操作: 1.查询所 ...

  8. SQL高级查询——50句查询(含答案)

    -一个题目涉及到的50个Sql语句 --(下面表的结构以给出,自己在数据库中建立表.并且添加相应的数据,数据要全面些. 其中Student表中,SId为学生的ID) ----------------- ...

  9. SQL Server SQL高级查询语句小结(转)

    --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select disti ...

随机推荐

  1. Java学习笔记【十三、多线程编程】

    概念 Java 给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 多线程是多任务的一种特别的形式,但多线 ...

  2. mysql精准模糊查询使用CONCAT加占位符(下划线“_”)的使用,直接限定了长度和格式

    比如现在有张表t_user,如下:(表中只是引用某某某的话,并无恶意) id name 1 司马懿 2 司马老贼 3 司马老贼OR司马懿 4 司马大叔 1.模糊查询一般用的模糊查询都是like关键词, ...

  3. 【Day1】2.安装运行Python

     视频地址(全部) https://edu.csdn.net/course/detail/26057 课件地址(全部) https://download.csdn.net/download/gentl ...

  4. Vivotek 摄像头远程栈溢出漏洞分析及利用

    Vivotek 摄像头远程栈溢出漏洞分析及利用 近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃. 漏洞作者@bashis 放出了可造成摄像头 C ...

  5. python基础编程:生成器、迭代器、time模块、序列化模块、反序列化模块、日志模块

    目录: 生成器 迭代器 模块 time 序列化 反序列化 日志 一.生成器 列表生成式: a = [1,2,3,3,4,5,6,7,8,9,10] a = [i+1 for i in a ] prin ...

  6. 严格次小生成树[BJWC2010]

    原文必点 原题链接 题目描述 给定一张\(N\) 个点$ M $条边的无向图,求无向图的严格次小生成树. 设最小生成树的边权之和为\(sum\),严格次小生成树就是指边权之和大于\(sum\)的生成树 ...

  7. Linux日常之命令awk

    参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. 具有强大的文本格式化能力 ...

  8. springboot-拦截器redis注入空问题解决

    转自:https://blog.csdn.net/liuyang1835189/article/details/81056162 主要问题是在拦截器的配置类里面,配置的类,spring容器无法获取,所 ...

  9. 最简单之安装JDK

    参考:https://www.cnblogs.com/lizhewei/p/11181082.html 1,百度搜索jdk 2,官网下载 jdk-8u161-linux-x64.rpm 或者jdk-8 ...

  10. 报表开发神器!DevExpress Reporting v19.1全平台新功能解析

    行业领先的.NET界面控件DevExpress Reporting全新发布了v19.1版本,本文主要为大家介绍.NET Reporting v19.1中发布的所有平台的新功能,欢迎下载v19.1试用, ...