当前位置: 首页 > news >正文

【数据库】组合查询 UNION

组合查询

  • 概述
  • 组合查询
    • UNION
    • UNION ALL
    • INTERSECT
    • EXCEPT


概述

  • 组合查询允许将两个或多个查询的结果合并成一个单一的结果集。
  • 组合查询分类包括 UNIONUNION ALLINTERSECTEXCEPT 来合并查询结果。下述不同的组合查询;

下述示例中将使用的表:IllinoisIndiana

-- 表 Illinois
cust_id		last_name	 phone 		address
-------		---------	 --------	--------
00100		Kevin		 123456		No.123 Rd.Green
00123		John		 122234		No.221 Rd.Brown
00213		Kevin		 223122		No.111 Rd.Green-- 表 Indiana
cust_id		last_name	 phone 		address
-------		---------	 --------	--------
00100		Kevin		 123456		No.123 Rd.Green
12002		Green		 123322		No.091 Rd.Yellow

组合查询

UNION

  • UNION 合并两个或多个查询的结果,并且去除重复的行,所以结果集中的行是唯一的,不会包含重复的数据。

e . g . e.g. e.g. 获取两个表中 Illinois Indiana 中所有人员(不重复);

SELECT *
FROM Illinois
UNION
SELECT *
FROM Indiana

结果为:

-- 结果表
cust_id		last_name	 phone 		address
-------		---------	 --------	--------
00100		Kevin		 123456		No.123 Rd.Green
00123		John		 122234		No.221 Rd.Brown
00213		Kevin		 223122		No.111 Rd.Green
12002		Green		 123322		No.091 Rd.Yellow

UNION ALL

  • UNION ALL 合并两个或多个查询的结果,但不去除重复的行。所以结果集中可能包含重复的数据;
  • UNION 相比,UNION ALL 不执行去重操作,因此性能通常更好;

e . g . e.g. e.g. 获取两个表中 Illinois Indiana 中所有人员(可重复);

SELECT *
FROM Illinois
UNION ALL
SELECT *
FROM Indiana;

结果为:

-- 结果表
cust_id		last_name	 phone 		address
-------		---------	 --------	--------
00100		Kevin		 123456		No.123 Rd.Green
00123		John		 122234		No.221 Rd.Brown
00213		Kevin		 223122		No.111 Rd.Green
00100		Kevin		 123456		No.123 Rd.Green
12002		Green		 123322		No.091 Rd.Yellow

结果表中第一项与第四项重复。


INTERSECT

  • INTERSECT 用于找到两个查询结果之间的交集。结果集将包含同时存在于两个查询结果中的行。

e . g . e.g. e.g. 获取两个表中 Illinois Indiana 中都包含的行;

SELECT *
FROM Illinois
INTERSECT
SELECT *
FROM Indiana;

结果为:

-- 结果表
cust_id		last_name	 phone 		address
-------		---------	 --------	--------
00100		Kevin		 123456		No.123 Rd.Green

EXCEPT

  • EXCEPT 结果集包含存在于第一个查询结果中但不存在于第二个查询结果中的行。

e . g . e.g. e.g. 获取表 Illinois 中不包含 Indiana 表中值的行;

SELECT *
FROM Illinois
EXCEPT
SELECT *
FROM Indiana;

结果为:

-- 结果表
cust_id		last_name	 phone 		address
-------		---------	 --------	--------
00123		John		 122234		No.221 Rd.Brown
00213		Kevin		 223122		No.111 Rd.Green
  • 查询将返回在 Illinois 表中存在但在 Indiana 表中不存在的顾客信息。


以上

http://www.lryc.cn/news/205225.html

相关文章:

  • Spring Boot配置 application.yml,根据application.yml选择启动配置
  • 一文了解GC垃圾回收
  • 触摸屏与施耐德PLC之间MODBUS无线通讯
  • BOA服务器(一):简介
  • 最详细STM32,cubeMX 超声波测距
  • Java实现连接SQL Server解决方案及代码
  • 如何用 JMeter 编写性能测试脚本?
  • vue3+vite在线预览pdf
  • Python深度学习实战-基于Sequential方法搭建BP神经网络实现分类任务(附源码和实现效果)
  • 【前端】Webpack5中Html和CSS的压缩打包
  • postman接收后端返回的文件流并自动下载
  • 谈谈Net-SNMP软件
  • 前端对普通数字数组排序示例
  • SQL server中:常见问题汇总(如:修改表时不允许修改表结构、将截断字符串或二进制数据等)
  • 无线通信中CSI的含义
  • 如何一键核实验证身份证的真伪?
  • 冒泡排序:了解原理与实现
  • springboot maven项目环境搭建idea
  • vue3检测是手机还是pc端,监测视图窗口变化
  • B - Magical Subsequence (CCPC2021哈尔滨)
  • Leetcode刷题详解——x的平方根
  • windows安装docker,解决require wsl 2问题
  • 建立复数类
  • docker部署prometheus+grafana服务器监控(三) - 配置grafana
  • 面试题:说一下加密后的数据如何进行模糊查询?
  • LeetCode75——Day15
  • Qwt开发环境搭建(保姆级教程)
  • 【供应链】仓储、物流、车辆管理
  • 从另外一个进程中读取数据
  • 【FPGA零基础学习之旅#17】搭建串口收发与储存双口RAM系统