本系列blog源自前年写的SQL学习笔记,汇总一下发上来。(1月份发了前三篇笔记,原以为后面的笔记误操作删了,今天在硬盘里又找到了,一起发上来)
--------------------------------
使用UNION合并行
UNION操作将两个查询返回的结果合并成一个结果。UNION从结果中去掉重复的行,UNION ALL不去掉重复的行。
两个查询的SELECT子句列出的列(列名、计算表达式、聚合函数)必须数量相等。
两个查询对应的列必须有相同的顺序。
对应的列必须是相同的数据类型,或隐式转换为相同的数据类型。
大多数DBMS采用UNION语句第一个查询的列名作为结果的列名。
ORDER BY子句只能出现在UNION语句最后的查询中。对最后合并的结果进行排序,最简单的方法是使用相对列位置来确定排序,如ORDER BY 1 ASC;
GROUP BY和HAVING只能用于单独的查询,他们不能用于影响最终结果。
Statement1
UNION
[ALL]
Statement2;
UNION是可交换操作的,A
UNION B和B UNION A是相同的。
如果在一条语句中将UNION和UNION ALL混合使用,要使用括号来明确运算顺序,因为UNION ALL不排除重复行。
对于UNION操作,DBMS按内部顺序来确定和去掉重复行,因此即使没有使用ORDER BY子句,UNION的结果可能也会排序。UNION ALL因为不需要去掉重复的行,所以不排序。排序计算的消耗很大——若使用UNION ALL能实现,就不要使用UNION。
使用INTERSECT查找相同行
使用INTERSECT操作将两个查询的结果中相同的行并成一个结果,即交集。
Statement1
INTERSECT
Statement2;
Statement1和Statement2都是SELECT语句,两个查询中列的数量和顺序必须相同,对应列的数据类型必须兼容。
结果中重复的行将被去掉。
INTERSECT是可交换操作,A
INTERSECT B和B INTERSECT A是相同的。
DBMS如果不支持INTERSECT可以使用INNER
JOIN或EXISTS子查询。
使用EXCEPT查找不同行
EXCEPT操作,也称为差操作。将两个属性中只属于第一个查询的行作为结果。
A EXCEPT
B包含属于表A但不属于表B的行。
Statement1
EXCEPT
Statement2;
EXCEPT为不可交换项。
如果DBMS不支持EXCEPT,可以使用外联结、NOT EXISTS子查询、NOT IN子查询代替它。
分享到:
相关推荐
一、SQL基础 1. 数据库与表:SQL主要用于创建、查询、更新和管理数据库中的数据。数据库是一个组织有序的数据集合,而表则是存储数据的基本单元,由列(字段)和行(记录)组成。 2. DDL(Data Definition ...
《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 ...
本篇文章将全面总结SQL语句的基础知识,为数据库学习者提供基础指导。 1. **查询操作** - **查表结构**:使用`DESC 数据表名`可以查看表的字段名称、数据类型和是否允许为空等信息。 - **单表查询** - **简单...
《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 SQL ...
作为一本讲述T-SQL高级查询的专业图书,《Microsoft SQL Server 2008技术内幕:T-SQL查询》旨在结合实践中的各种常见问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。《Microsoft SQL ...
根据提供的文件信息,本文将对SQL Server的基础知识点进行详细的总结与解释。这将涵盖数据库管理语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)等关键概念,并结合具体的示例来帮助读者更好地理解和掌握...
以上只是SQL基础的冰山一角,还有更复杂的子句如UNION、INTERSECT、EXCEPT以及窗口函数等,它们在数据分析和数据处理中发挥着重要作用。掌握这些基础知识后,你可以进一步学习进阶概念,以更有效地操作和管理数据库...
一、SQL基础教程 SQL的基础主要包括以下几个部分: 1. 数据库概念:理解数据库是什么,如何组织数据,以及关系数据库模型。了解表、字段、记录和键等基本概念。 2. DDL(Data Definition Language):用于创建和...
8. 存储过程和触发器:存储过程是预编译的SQL语句集合,可以提高性能并简化复杂的操作;触发器则是在满足特定条件时自动执行的程序段,常用于实现业务规则。 学习SQL的过程通常包括以下几个阶段: 1. 基础语法:...
3. 集合操作:可以使用 UNION、INTERSECT、EXCEPT 语句对查询结果进行集合操作。 4. 子查询:可以使用子查询来实现复杂的查询条件。 四、 SQL 高级知识 1. 索引:索引是对表中的某一列或多列的索引,用于提高查询...
- **面向对象功能**:介绍PL/SQL中的面向对象编程特性,如对象类型和集合。 - **集合**:一种用于存储一组同类型数据的容器。 - **Java集成**:讲解如何在PL/SQL中调用Java代码,实现跨语言的功能集成。 #### 特色...
四、SQL基础 1. DDL(Data Definition Language):用于创建和修改数据库结构,如CREATE TABLE、ALTER TABLE等。 2. DML(Data Manipulation Language):用于操作数据,如INSERT INTO、SELECT、UPDATE、DELETE。 ...
@Author:Runsen SQL 语法基础 库级操作语句 表级操作语句 在已有表中添加列 修改数据类型 修改字段名 增删查改 添加数据 修改数据 查找数据 SQL 数据类型 Redis 基本语法 ...集合操作语句 文档操作
SQL Server 数据库基础知识点总结 本资源摘要信息将涵盖 SQL Server 数据库基础知识点,包括数据的基本概念、SQL Server 的基本操作、创建数据库、表和检查约束、编写 T-SQL 执行数据查询、数据库和应用程序的交互...
这篇博客“一点sql语句总结”可能涵盖了SQL的基本概念、常用操作以及一些高级技巧。 1. **SQL基本概念**: - 数据库:存储数据的结构化集合,SQL用于操纵这些数据。 - 表:数据库中的数据组织形式,由列(字段)...
集合操作 - **UNION**: - **语法**: `SELECT column1, column2 FROM table1 UNION [ALL] SELECT column1, column2 FROM table2;` - **说明**: 此命令用于合并两个或更多 SELECT 语句的结果集。 - **示例**: ``...
本篇将深入探讨如何编写SQL脚本来获取SQL Server中外键的信息,并以此为基础进行进一步的数据操作。以下将详细介绍该脚本的逻辑和组成部分。 #### 二、知识点解析 ##### 1. SQL Server 外键集合 - **目标**: 获取...
作为非过程化语言,SQL让用户可以处理记录集而非单个记录,通过集合操作实现数据的高效管理。SQL的优势在于: 1. **非过程化**:用户无需关注数据如何存储,只需关注查询结果。 2. **统一性**:SQL适用于不同角色的...
总结来说,这套“SQL SERVER基础学习资料”将带你逐步了解SQL语言的基本语法,掌握SQL Server的核心功能,并提供实践经验,帮助你从零开始成为熟练的数据库管理员或开发者。通过学习,你可以有效地组织、查询和管理...
1. SQL基础: SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在第八章中,你将学习到如何创建、查询、更新和删除数据库中的数据。这包括SELECT语句用于检索数据,INSERT用于插入新记录,...