SQL 基础 | UNION 用法介绍

news2024/11/26 1:22:12

在SQL中,UNION操作符用于合并两个或多个SELECT语句的结果集,形成一个新的结果集。

使用UNION时,合并的结果集列数必须相同,并且列的数据类型也需要兼容。

默认情况下,UNION会去除重复的行,只保留唯一的行。

以下是UNION的一些常见用法:

  1. 基本用法: 使用 UNION将两个查询的结果集合并,每个查询的列数和类型必须相同。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

例如,合并两个表中所有客户的姓名:

SELECT CustomerName FROM Customers
UNION
SELECT CustomerName FROM Suppliers;
  1. **使用 UNION ALL**: UNION ALLUNION类似,但它不会去除重复的行。如果合并的结果集中存在重复的行, UNION ALL会保留它们。
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
  1. 合并多表UNION可以用于合并两个以上的查询结果集,每个查询之间用 UNION连接。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2
UNION
SELECT column_name(s) FROM table3;
  1. 指定排序UNION的结果集默认不排序。如果你想要对合并后的结果进行排序,需要使用 ORDER BY子句,并且只能放在所有 UNION操作的最后。
(SELECT column_name(s) FROM table1)
UNION
(SELECT column_name(s) FROM table2)
ORDER BY column_name;
  1. 使用别名: 可以为 UNION中的每个查询指定别名,使结果集更加清晰。
(SELECT column_name AS alias_name FROM table1) AS t1
UNION
(SELECT column_name AS alias_name FROM table2) AS t2;
  1. 与子查询结合使用UNION可以与子查询结合使用,子查询可以是更复杂的查询。
(SELECT * FROM table1 WHERE condition1)
UNION
(SELECT * FROM (SELECT * FROM table2) AS subquery WHERE condition2);
  1. **使用 LIMITOFFSET**: 可以在 UNION操作的每个查询中使用 LIMITOFFSET来控制结果集的行数和偏移量。
(SELECT column_name(s) FROM table1 LIMIT 10
UNION 
(SELECT column_name(s) FROM table2 LIMIT 10 OFFSET 10);

使用UNION时,需要注意以下几点:

  • 所有查询的列数必须相同。
  • 相应列的数据类型必须兼容,不需要完全相同,但是必须是可以比较的。
  • 默认情况下, UNION会自动去除重复的行,如果需要包含重复行,使用 UNION ALL
  • UNION的结果集不能指定列名,列名来自参与 UNION的第一个查询。
  • 对结果集进行排序只能使用一个 ORDER BY子句,并且必须位于所有 UNION操作之后。

UNION是一个非常有用的工具,可以帮助你将来自不同表的数据合并成一个统一的结果集,从而简化数据分析和报告。

-- END --

alt

如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)

-- END --

alt

如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1639393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业计算机服务器中了lockbit勒索病毒如何处理,lockbit勒索病毒解密流程建议

在虚拟的网络世界里,人们利用网络获取信息的方式有很多,网络为众多企业提供了极大便利性,也大大提高了企业生产运营效率,方便企业开展各项工作业务。但随着网络技术的不断发展与应用,越来越多的企业开始关注企业网络数…

06 - metastore服务、hive服务启动脚本以及相关使用技巧

目录 1、metastore服务 1.1、metastore运行模式 1.2、metastore部署 1.3、测试 2、编写Hive服务启动脚本 3、Hive使用技巧 3.1、Hive常用交互命令 3.2、Hive参数配置方式 3.3、Hive常见属性配置 1、metastore服务 Hive的metastore服务的作用是为Hive CLI或者Hiveserv…

linux内核源码分析--核心网络文件和目录

图3-2显示了在/proc/sys中由网络代码所使用的主要目录,就每个目录而言,都列出了在哪一章描述其文件。 proc/sys/net bridge ipv4 core route neigh conf 图3-2/proc/sys/net 中的核心目录 根据前借所述,我们来看net中的树根是如何定义的&…

SpringCloudAlibaba:3.1dubbo

dubbo 概述 简介 Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题 官方提供了 Java、Golang、Rust 等多语言 SDK 实现 Dubbo的开源故事 最早在2008年,阿里巴巴就将Dubbo捐献到开源社区,它很快成为了国内开源…

R语言的学习—5—多元数据直观表示

1、数据读取 ## 数据整理 d3.1read.xlsx(adstats.xlsx,d3.1,rowNamesT);d3.1 #读取adstats.xlsx表格d3.1数据 barplot(apply(d3.1,1,mean)) #按行做均值条形图 barplot(apply(d3.1,1,mean),las3) barplot(apply(d3.1,2,mean)) #按列做均值图条形图 barplot(a…

JavaEE >> Spring MVC(1)

MVC MVC:Model View Controller 的缩写,是一种软件架构模式,将软件系统分为模型、视图和控制器三个部分。 Mode(模型):是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。通常模型对象负责在数据库中存取数据…

【C++STL详解(五)】--------list的介绍与使用

目录 前言 一、list的介绍 二、list的使用 Ⅰ.默认成员函数 1、构造函数 2、赋值重载 3、析构函数 Ⅱ、容量 1.size() Ⅲ、迭代器与遍历 1.beginend (正向迭代器) 2.rbeginrend (反向迭代器) 3.front 4.back Ⅳ、增删查改 1.push_front 2.pop_front 3.push_b…

【跟马少平老师学AI】-【神经网络是怎么实现的】(九)长短期记忆网络

一句话归纳: 1)RNN也会存在梯度消失的问题。 2)同一句话,对于不同的任务,句中不同的词起的作用也不一样。 3)LSTM(长短期记忆)子网络: 门,让输入经过运算&…

目标检测算法YOLOv4简介

YOLOv4由Alexey Bochkovskiy等人于2020年提出,论文名为:《YOLOv4: Optimal Speed and Accuracy of Object Detection》,论文见:https://arxiv.org/pdf/2004.10934 ,GitHub Code:https://github.com/AlexeyA…

05_机器学习赛事_优惠券使用预测

1. 函数库导入 # import libraries necessary for this project import os, sys, pickleimport numpy as np import pandas as pdimport matplotlib.pyplot as plt import matplotlib.dates as mdatesimport seaborn as sns import datetime as dtfrom datetime import datefr…

webm视频转mp4,webm视频格式转换,6个方法介绍!

如何把webm格式转换成mp4?随着生活节奏的加快,视频的应用范围愈发广泛,我们较常见于短视频平台、网站页面等等。同样的,视频已经成为当前分享信息、传播信息的关键工具之一。在技术不断革新的基础上,视频技术也在不断完…

C++深度解析教程笔记4

C深度解析教程笔记4 第7课 - 函数参数的扩展实验-默认参数实验-从右提供的默认参数实验-默认值与占位参数结合小结 第8课 - 函数重载分析(上)实验-函数重载实验-有歧义的重载实验-重载函数是同一函数吗查看vs2010的obj文件的符号表 小结 第9课 - 函数重载…

How a window is added to windowmanager when you start an activity

finally call mWindowSession.addToDisplayAsUser how surfacecontrol is showed when you start an activity

Redis教程——事务

在上篇文章我们学习了Redis教程——持久化(AOF),这篇文章我们学习Redis教程——事务。 Redis事务 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&a…

ROS1快速入门学习笔记 - 014launch启动文件的使用方法

一、定义 Launch文件&#xff1a;通过XML文件实现多节点的配置和启动&#xff08;可自动启动ROSMaster&#xff09; 二、常用语法 1. 根标签 <launch> - launch文件中的根元素采用<launch>标签定义 <launch>表示开始&#xff1b;<launch>表示结束&…

搜狗输入法自动切换双拼方案

解决方法&#xff0c; 安装 13.2.0 &#xff0c; to be verified SGSRv13206899_搜狗输入法13.2.0 需要关闭自动升级

某米社区请求data类型multipart_form-data分析

随笔记录 之前未曾遇到请求的Content-Type:multipart/form-data; boundary=----WebKitFormBoundary9Fxpi3Dvlnhm3MKq,今天就简单是根据目标网站进行分析下,目标站点是:aHR0cHM6Ly93ZWIudmlwLm1pdWkuY29tL3BhZ2UvaW5mby9taW8vbWlvL3BjU2VhcmNoP2Zyb21QYXRobmFtZT1taW9Cb2FyZ…

STL中常见的算法及其应用(一)

总述: 一、常见的遍历算法 1、for_each//遍历容器 函数原型: for_each(iterator beg, iterator end, _func); beg:开始迭代器; end:结束迭代器; _func:函数或者函数对象; 总结:for_each函数在STL中十分重要,需要熟练掌握 示例: std::for_each 是 C++ 标准…

如何利用ChatGPT撰写满分文案:技巧与实例解析

在当今社会&#xff0c;随着企业越来越重视宣传推广&#xff0c;文案写作已成为关键的营销手段之一。同时&#xff0c;人工智能的快速发展为文案创作提供了新的工具和方法。例如&#xff0c;ChatGPT这种基于自然语言处理的模型&#xff0c;在协助撰写多种文案方面展现出了极大的…

A4的PDF按A3打印

先用办公软件打开&#xff0c;比如WPS。 选择打印-属性。 纸张选A3&#xff0c;如果是双面打印&#xff0c;选短边装订&#xff0c;然后在版面-页面排版-每张页数&#xff08;N合1&#xff09;选2。 不同打印机的具体配置可能不一样&#xff0c;但大体都是这个套路。