`
wangzhen5
  • 浏览: 80815 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

SQL入门用集合运算符组合查询

SQL 
阅读更多
SQL入门:用集合运算符组合查询

--------------------------------------------------------------------------------

http://www.sina.com.cn 2006年10月01日 14:41 ChinaByte

  1、用集合运算符组合查询

  UNION、EXCEPT 以及 INTERSECT 集合运算符使您能够将两个或更多外层查询组合成单个查询。执行用这些集合运算符连接的每个查询并组合各个查询的结果。根据运算符不同,产生不同的结果。

  2、UNION 运算符

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

  在下列 UNION 运算符的示例中,查询返回薪水高于 $21,000、有管理责任且工龄少于 8 年的人员的姓名:

  (1)

  SELECT ID, NAME FROM STAFF WHERE SALARY > 21000

  UNION

  (2)

  SELECT ID, NAME FROM STAFF WHERE JOB='Mgr' AND YEARS < 8

  ORDER BY ID

  各个查询的结果如下:

  (1)

  





  (2)

  





  数据库管理程序组合这两个查询的结果,消除重复行,并按升序返回最终结果。

  





  如果在带有任何集合运算符的查询中使用 ORDER BY 子句,则必须在最后一个查询之后写该子句。系统对组合的回答集进行排序。如果两个表中的列名不同,则组合的结果表没有相应列的名称。替代地,将这些列按其出现的顺序编号。因此,如果想要对结果表进行排序,则必须在 ORDER BY 子句中指定列号。

  3、EXCEPT 运算符

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

  在下列 EXCEPT 运算符的示例中,查询返回收入超过 $21,000 但没有经理职位且工龄为 8 年或更长的所有人员的姓名。

  SELECT ID, NAME FROM STAFF WHERE SALARY > 21000

  EXCEPT

  SELECT ID, NAME FROM STAFF WHERE JOB='Mgr' AND YEARS < 8

  各个查询的结果在关于 UNION 的一节中列出。上面的语句产生下列结果:

  





  4、INTERSECT 运算符

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

  在下列 INTERSECT 运算符的示例中,查询返回收入超过 $21,000 有管理责任且工龄少于8年的雇员的姓名和 ID。

  SELECT ID, NAME FROM STAFF WHERE SALARY > 21000

  INTERSECT

  SELECT ID, NAME FROM STAFF WHERE JOB='Mgr' AND YEARS < 8

  各个查询的结果在关于 UNION 的一节中列出。这两个使用 INTERSECT 的查询的结果为:

  





  5、当使用 UNION、EXCEPT 以及 INTERSECT 运算符时,记住下列事项:

  运算符的查询选择列表中的所有对应项必须是相容的。有关更多信息,参见 SQL Reference 中的数据类型相容性表。

  ORDER BY 子句(如果使用该子句的话)必须放在最后一个带有集合运算符的查询后面。对于每个运算符来说,如果列的名称与查询的选择列表中对应项的名称相同,则该列名只能在 ORDER BY 子句中使用。

  在具有相同数据类型和相同长度的列之间进行的运算会产生一个具有该类型和长度的列。针对 UNION、EXCEPT 以及 INTERSECT 集合运算符的结果,参见 SQL Reference 中结果数据类型的规则。


分享到:
评论

相关推荐

    SQL入门与实践

    《SQL入门与实践》是一本深受开发者欢迎的教程,它为初学者提供了全面而深入的SQL学习路径。SQL,全称Structured Query Language,即结构化查询语言,是用于管理关系数据库的标准语言。无论你是数据库管理员、数据...

    跟我学SQL-SQL入门教程

    ### SQL入门教程精要 **一、SQL概览与历史** SQL,即Structured Query Language,是一种用于管理和操作关系型数据库的标准编程语言。自1970年代由IBM的研究员Edgar F. Codd提出关系模型以来,SQL逐渐成为业界标准...

    IBM DB2通用数据库SQL入门

    IBM DB2通用数据库是IBM公司开发的一款强大的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。...《IBM DB2通用数据库SQL入门》PDF文档将提供更详细的指导,帮助你进一步提升在数据库领域的技能。

    数据库sql基础入门.pdf

    + 模糊查询:使用 `like`, `between and`, `in`, `is null` 或 `not null` 等。 * 查询示例: + 筛选salary大于12000的记录:`select * from employees where salary &gt; 12000;` + 筛选salary在10000到20000之间的...

    T-SQL入门经典

    《T-SQL入门经典》是一本专为初学者设计的SQL语言教程,它重点介绍了T-SQL(Transact-SQL)这一SQL Server的核心查询语言。T-SQL是Microsoft SQL Server数据库管理系统中用于数据管理和操作的主要语言,对于任何想要...

    SQL语法入门教程

    ### SQL语法入门教程知识点详解 #### 一、SQL基础语法概览 本教程旨在为初学者提供一个系统化的SQL语法学习路径,通过介绍各种关键字及其用法,并结合具体实例进行详细解析,帮助读者快速掌握标准SQL的核心概念和...

    SQL语言入门教程

    - **用集合运算符组合查询**: 使用`UNION`, `INTERSECT`, `EXCEPT`等集合运算符来合并多个查询的结果集。 #### 六、在查询中使用运算符和谓词 - **谓词**: 谓词是用于在`WHERE`子句中进行条件测试的SQL表达式,如`=...

    跟我学SQL语句-入门

    《跟我学SQL语句-入门》这篇文章主要介绍了SQL的基础知识,特别强调了SQL在数据库管理中的重要性。SQL,即结构化查询语言,是用于与数据库进行交互的标准,特别是关系型数据库管理系统(RDBMS)。文章指出,虽然SQL...

    SQL入门教程

    - **用集合运算符组合查询**:使用UNION、INTERSECT、EXCEPT等集合运算符合并多个查询结果,形成统一的结果集。 #### 第五部分:在查询中使用运算符和谓词 - **谓词**:谓词用于表达逻辑条件,如等于(=)、不等于...

    (第一卷)Microsoft.SQL.Server.2008技术内幕:T-SQL语言基础

     书中并非系统地罗列T-SQL的各种语法元素,而是结合实践中的各种问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。本书内容丰富、文字简洁明快,列举的实例具有一定的难度,而且实用性较...

    LINQ入门及应用 10/13

     4.1 LINQ标准查询运算符概述  4.2 Enumerable类的介绍  4.3 用于延期执行的Enumerable类方法成员  4.3.1 Take方法  4.3.2 TakeWhile方法  4.3.3 Skip方法  4.3.4 SkipWhile方法  4.3.5 Take、TakeWhile、...

    SQL入门教程大全2024

    ### SQL入门教程大全2024 #### 一、SQL基础 **1.1 SQL简介** - **用途**: SQL(Structured Query Language),即结构化查询语言,是一种专门用于管理和操作关系型数据库的标准语言。 - **历史**: SQL由IBM在1970...

    (第二卷)Microsoft SQL Server 2008技术内幕:T-SQL语言基础

     书中并非系统地罗列T-SQL的各种语法元素,而是结合实践中的各种问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。本书内容丰富、文字简洁明快,列举的实例具有一定的难度,而且实用性较...

    SQL Server 2005入门

    例如,使用TOP关键字可以实现只查询表中的前N条记录,使用GROUP BY和HAVING可以实现数据的分组统计,而嵌套查询、集合查询和连接查询则是实现复杂查询的主要方法。 总之,SQL Server 2005入门级知识点繁多,但主要...

    sql最完整的语法使用

    深入理解SELECT语句,学习如何根据条件筛选数据,使用WHERE子句实现条件查询,以及运用AND、OR和NOT逻辑运算符进行复杂条件的组合。同时,还会介绍ORDER BY用于排序结果,以及LIMIT和OFFSET用于分页。 第三讲:聚合...

    数据透视表SQL语句入门

    在Excel中使用MS Query查询外部数据库的内容的优点是:不用设置公式、编写VBA代码、源数据库不用打开。 但要注意:源数据库的记录要有字段名,由于设置查询时的路径固定,。 因此源数据库文件不能随意移动(如确实要...

    SQL基础教程学习笔记.pdf

    - **集合运算符**:包括UNION(并集)、INTERSECT(交集)、EXCEPT(差集),用于对两个查询结果进行集合操作。 ### SQL高级处理 - **窗口函数**:允许对数据集的子集(窗口)执行计算。 - **GROUPING运算符**:...

    sql plsql 函数学习 Oracle 快速入门

    集合运算符 `INTERSECT`, `UNION`, `UNION ALL`, `MINUS` 则用于合并或对比多个查询结果,需注意它们对列数和数据类型的一致性要求。 在函数方面,Oracle 提供了丰富的内置函数,比如日期函数。`SYSDATE` 返回当前...

Global site tag (gtag.js) - Google Analytics