`

SQL基础总结(八):集合操作

 
阅读更多

本系列blog源自前年写的SQL学习笔记,汇总一下发上来。(1月份发了前三篇笔记,原以为后面的笔记误操作删了,今天在硬盘里又找到了,一起发上来)

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

使用UNION合并行

UNION操作将两个查询返回的结果合并成一个结果。UNION从结果中去掉重复的行,UNION ALL不去掉重复的行。

两个查询的SELECT子句列出的列(列名、计算表达式、聚合函数)必须数量相等。

两个查询对应的列必须有相同的顺序。

对应的列必须是相同的数据类型,或隐式转换为相同的数据类型。

大多数DBMS采用UNION语句第一个查询的列名作为结果的列名。

ORDER BY子句只能出现在UNION语句最后的查询中。对最后合并的结果进行排序,最简单的方法是使用相对列位置来确定排序,ORDER BY 1 ASC;

GROUP BYHAVING只能用于单独的查询,他们不能用于影响最终结果。

Statement1

UNION [ALL]

Statement2;

UNION是可交换操作的,A UNION BB UNION A是相同的。

如果在一条语句中将UNIONUNION ALL混合使用,要使用括号来明确运算顺序,因为UNION ALL不排除重复行。

 

对于UNION操作,DBMS按内部顺序来确定和去掉重复行,因此即使没有使用ORDER BY子句,UNION的结果可能也会排序。UNION ALL因为不需要去掉重复的行,所以不排序。排序计算的消耗很大——若使用UNION ALL能实现,就不要使用UNION

 

使用INTERSECT查找相同行

使用INTERSECT操作将两个查询的结果中相同的行并成一个结果,即交集。

Statement1

INTERSECT

Statement2;

Statement1Statement2都是SELECT语句,两个查询中列的数量和顺序必须相同,对应列的数据类型必须兼容。

结果中重复的行将被去掉。

INTERSECT是可交换操作,A INTERSECT BB INTERSECT A是相同的。

DBMS如果不支持INTERSECT可以使用INNER JOINEXISTS子查询。

 

使用EXCEPT查找不同行

EXCEPT操作,也称为差操作。将两个属性中只属于第一个查询的行作为结果。

A EXCEPT B包含属于表A但不属于表B的行。

Statement1

EXCEPT

Statement2;

 

EXCEPT为不可交换项。

如果DBMS不支持EXCEPT,可以使用外联结、NOT EXISTS子查询、NOT IN子查询代替它。

分享到:
评论

相关推荐

    sql练习总结sql经验总结

    一、SQL基础 1. 数据库与表:SQL主要用于创建、查询、更新和管理数据库中的数据。数据库是一个组织有序的数据集合,而表则是存储数据的基本单元,由列(字段)和行(记录)组成。 2. DDL(Data Definition ...

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

     《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 ...

    数据库基础之sql语句总结

    本篇文章将全面总结SQL语句的基础知识,为数据库学习者提供基础指导。 1. **查询操作** - **查表结构**:使用`DESC 数据表名`可以查看表的字段名称、数据类型和是否允许为空等信息。 - **单表查询** - **简单...

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

     《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 SQL ...

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

     作为一本讲述T-SQL高级查询的专业图书,《Microsoft SQL Server 2008技术内幕:T-SQL查询》旨在结合实践中的各种常见问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。《Microsoft SQL ...

    SQL Server基础总结

    根据提供的文件信息,本文将对SQL Server的基础知识点进行详细的总结与解释。这将涵盖数据库管理语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)等关键概念,并结合具体的示例来帮助读者更好地理解和掌握...

    简单的sql语句集合(自己总结)

    以上只是SQL基础的冰山一角,还有更复杂的子句如UNION、INTERSECT、EXCEPT以及窗口函数等,它们在数据分析和数据处理中发挥着重要作用。掌握这些基础知识后,你可以进一步学习进阶概念,以更有效地操作和管理数据库...

    SQLserver资料|sql基础教程|sql基础案例|sql入门教程

    一、SQL基础教程 SQL的基础主要包括以下几个部分: 1. 数据库概念:理解数据库是什么,如何组织数据,以及关系数据库模型。了解表、字段、记录和键等基本概念。 2. DDL(Data Definition Language):用于创建和...

    学习SQL数据库的自我总结

    8. 存储过程和触发器:存储过程是预编译的SQL语句集合,可以提高性能并简化复杂的操作;触发器则是在满足特定条件时自动执行的程序段,常用于实现业务规则。 学习SQL的过程通常包括以下几个阶段: 1. 基础语法:...

    SQL基础知识.docx

    3. 集合操作:可以使用 UNION、INTERSECT、EXCEPT 语句对查询结果进行集合操作。 4. 子查询:可以使用子查询来实现复杂的查询条件。 四、 SQL 高级知识 1. 索引:索引是对表中的某一列或多列的索引,用于提高查询...

    Oracle PL_SQL Language Pocket Reference, 5th Edition.2015.pdf

    - **面向对象功能**:介绍PL/SQL中的面向对象编程特性,如对象类型和集合。 - **集合**:一种用于存储一组同类型数据的容器。 - **Java集成**:讲解如何在PL/SQL中调用Java代码,实现跨语言的功能集成。 #### 特色...

    c#知识点sql 出个人总结 c#知识点sql 出个人总结

    四、SQL基础 1. DDL(Data Definition Language):用于创建和修改数据库结构,如CREATE TABLE、ALTER TABLE等。 2. DML(Data Manipulation Language):用于操作数据,如INSERT INTO、SELECT、UPDATE、DELETE。 ...

    SQL 语法总结.md

    @Author:Runsen SQL 语法基础 库级操作语句 表级操作语句 在已有表中添加列 修改数据类型 修改字段名 增删查改 添加数据 修改数据 查找数据 SQL 数据类型 Redis 基本语法 ...集合操作语句 文档操作

    第一章 SQL Server数据库基础.ppt

    SQL Server 数据库基础知识点总结 本资源摘要信息将涵盖 SQL Server 数据库基础知识点,包括数据的基本概念、SQL Server 的基本操作、创建数据库、表和检查约束、编写 T-SQL 执行数据查询、数据库和应用程序的交互...

    一点sql语句总结

    这篇博客“一点sql语句总结”可能涵盖了SQL的基本概念、常用操作以及一些高级技巧。 1. **SQL基本概念**: - 数据库:存储数据的结构化集合,SQL用于操纵这些数据。 - 表:数据库中的数据组织形式,由列(字段)...

    关于sql语句的集合有5,60句

    集合操作 - **UNION**: - **语法**: `SELECT column1, column2 FROM table1 UNION [ALL] SELECT column1, column2 FROM table2;` - **说明**: 此命令用于合并两个或更多 SELECT 语句的结果集。 - **示例**: ``...

    获得SQL外键集合

    本篇将深入探讨如何编写SQL脚本来获取SQL Server中外键的信息,并以此为基础进行进一步的数据操作。以下将详细介绍该脚本的逻辑和组成部分。 #### 二、知识点解析 ##### 1. SQL Server 外键集合 - **目标**: 获取...

    Oracle SQL语言基础

    作为非过程化语言,SQL让用户可以处理记录集而非单个记录,通过集合操作实现数据的高效管理。SQL的优势在于: 1. **非过程化**:用户无需关注数据如何存储,只需关注查询结果。 2. **统一性**:SQL适用于不同角色的...

    SQL SERVER基础学习资料

    总结来说,这套“SQL SERVER基础学习资料”将带你逐步了解SQL语言的基本语法,掌握SQL Server的核心功能,并提供实践经验,帮助你从零开始成为熟练的数据库管理员或开发者。通过学习,你可以有效地组织、查询和管理...

    用SQL语句操作数据.zip

    1. SQL基础: SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在第八章中,你将学习到如何创建、查询、更新和删除数据库中的数据。这包括SELECT语句用于检索数据,INSERT用于插入新记录,...

Global site tag (gtag.js) - Google Analytics