联合查询与多表查询基础详解

【MySQL实战】联合查询详解:从基础到进阶,掌握多表联合查询技巧 联合查询是指在一个SQL语句中,联合多个表的数据,返回满足条件的结果。 阅读详情

联合查询与多表查询基础详解【我的数据库之路系列】

--------------------------------------------------------------目录---------------------------------------------------------------

一.联合查询
      1.UNION
      2.INTERSECT
      3.EXCEPT(MINUS)

二.多表查询

      1.内联结

      2.外联结


------------------------------------------------------------联合查询---------------------------------------------------------------

一.定义:
      联合查询就是可以联合两个或多个查询来生成一个结果,联合结果集可能是查询的所有记录的一个简单聚合,或者是最终结果集返回前,进行的一些与集合论有关的运算.
(PS:简单解释一下,实际上所谓联合查询就是当自己需要的数据是由多个查询的结果中得到的时候,就可以使用联合查询)

      SQL/2003标准支持使用UNION、INTERSECT和EXCEPT(或MINUS)子句合并两个或多个查询结果,语法格式见下图,后面还会再细讲:



     
(PS:所谓的SQL/2003标准是由美国国家标准化组织(ANSI)指定的最基本的SQL语法规范,最早的SQL语言是由IBM在1974年开发出来的,后来由Oracle等其他数据库厂商分别衍生出不同的SQL版本,为了统一标准,ANSI在86年制定了一个标准SQL规范(SQL/86标准),并经过89和92年的改进后被广泛接受,当时的版本就是SQL/92标准,在此标准之上,不同的厂家根据需要对SQL进行了功能扩展,其中为大家熟知的包括Oracle的PL/SQL以及微软SQLServer(也叫MSSQL)数据库的T/SQL语言等。前面提到的SQL/2003标准就是03年制定的新标准,在中间还有一个SQLL/99,之后06年制定了SQL/2006标准并被使用至今,但06标准只是增加了SQL与XML和XQUERY的关联应用,与本文无关,所以我们使用03标准,并且这个标准在本文后面会被经常提到哦。)


二.UNION
      首先,我们先拿出2个简单的小表,来作为测试表为以后的理论提供证明,如下面2张图所示,分别建立un_temp_1和un_temp_2两张表,并为每张表插入5条数据,本文中之后见到的涉及这2张表的测试SQL统统都用的这些数据哦:



1.UNION
     
将两个或多个结果集进行并联操作,结果见下图:



2.UNION ALL
     
单纯的将两个或多个结果集连接到一起,结果见下图:



3.UNION与UNION ALL的区别

      也许初学者还无法把集合理论与SQL结合起来理解,所以对上面的UNION会有些迷惑,实际上,UNION做的事情就是把2个SQL中的所有数据全部显示出来,同时去除了重复的数据,相对的,UNION ALL做的事情就只是简单的将2个SQL的数据排在一起而不会删除重复数据,因而在上面第一张图中UNION只查出了7条数据,是因为2个表中有3条是重复数据被数据库处理掉了


(PS1:因为UNION ALL没有去重复这一步,所以从另一个方面讲,UNION ALL的效率要比UNION快)


(PS2:Oracle中的UNION ALL会将第二部分的数据简单放在第一部分数据的后面,但请注意,并非所有的数据库的UNION ALL的顺序都是这样,比如DB2的UNION ALL查出的数据顺序就是混乱的(话是这么说,但实际上DB2也是有规律的,但是那个规律查出的数据顺序没有任何意义))


(PS3:UNION ALL比较特殊,它其实并不符合集合论,它既不是交集也不是并集,所以数学很出色的读者们请不要在这个地方纠结)

4.UNION与UNION ALL的常用场景

      UNION不用解释了,就是把2个结果集放到一起显示出来,重点说下UNION ALL,在实际需求中经常会要求

Kettle之多表联合查询实战 需求说明 阅读详情

相关推荐

informixOUTER.txt

informix数据库outer用法.区别于oracl,db等的数据库的外连接用法

基于STM32F407与AD9910/AD9959的高频可调DDS信号源设计与实战

本文详细介绍了基于STM32F407微控制器与AD9910/AD9959高性能DDS芯片的高频可调信号源设计与实现。文章从DDS原理入手,阐述了双芯片方案的优势,并重点分享了高频电路设计中的电源、PCB布局布线等关键硬件设计技巧与避坑指南。同时,提供了通过SPI配置DDS芯片及利用Matlab生成任意波形的软件驱动方法,旨在帮助开发者打造一个覆盖10Hz至4200MHz的实用信号发生器。

weixin_36184718的博客 123

pcle接口详解&用途说明

它原来的名称为“3GIO”,由英特尔在2001年提出。pcel x16插槽 用途用于显卡、RAID阵列卡,向下兼容PCIE x1/x4/x8/x16。(PCIE x16插槽长89mm,有164根针脚,靠主板外侧端有一卡口,将16x分为前后两组,短插槽有22根针脚,主要用于供电,长插槽142根,主要用于数据传输,具有16通道所带来的高带宽)PCI-E x8插槽插槽用途:全长56mm,有98根针脚,与PCI-E x16比较,主要是数据针脚减少至76根,短的供电针脚仍然是22针脚。

qq_43289307的博客 1万+

ADS新手必看:ICCAP数据导入与导出CSV的完整流程(附常见问题解决)

本文为ADS新手详细讲解了如何将ICCAP测试数据导入ADS进行仿真分析,并导出为通用CSV格式的完整流程。内容涵盖文件格式解析、导入设置、数据验证、处理技巧及常见问题排查,重点解决了数据文件导入过程中的兼容性与单位映射等核心难点,帮助射频工程师高效连接测量与仿真环节。

peace的博客 560

EduCoder 计算机网络实验 IP协议分析

第1关:跟踪抓包 任务描述 相关知识 IPV4数据包 截获数据报 分析截获结果 使用git将本地文件推送到远程仓库永久保存 操作要求 任务描述 本关任务:使用 Ping 命令发送数据报,用 Wireshark 截获数据报,分析 IP 数据报的格式,理解 IPV4 地址的编址方法,加深对 IP 协议的理解。 相关知识 为了完成本关任务,你需要掌握: 截获数据报; 简单分析数据包格式。 IPV4数据包 网际协议第 4 版(Internet Protocol version 4

qq_41975868的博客 1万+

[Linux外设驱动详解]RK3588 U-Boot网络功能深度分析

本文深入分析了RK3588平台上U-Boot的网络功能实现,主要内容包括: 网络架构:详细剖析了从硬件层到协议层的完整网络栈架构,包括GMAC驱动、TFTP/NFS启动、网络命令等关键组件。 驱动实现:重点介绍了RK3588 GMAC驱动结构,包含关键数据结构、专用操作函数集、设备树兼容性配置和GRF寄存器设置。 功能实现:详细说明了驱动初始化流程、RGMII速度适配机制以及PHY接口配置过程。 高级特性:涵盖了网络启动功能、镜像更新和MAC地址传递到Linux内核的机制。 文档通过代码片段和流程图清晰展示

Just Linux! 1115

文献综述三大痛点用AI轻松解决!借助Gemini 3 Pro搞定检索难、阅读慢、框架乱问题(附 AI 提示词)

4)“漏斗式”结构:先介绍宏观领域的研究现状,再缩小范围,聚焦于与你课题直接先关的子领域,深入探讨与你研究变量直接相关的文献, 指出前人没做过、没做全或结论有矛盾的地方,再顺势提出你的研究课题,这种结构逻辑最清晰,能直接引导读者发现你研究的必要性。想要有针对性的搜到相关文献,必须先把模糊的研究题目拆解成精准的检索语言,这个时候就需要建立一个关键词矩阵,如核心词、同义词、学术术语、上下位词,以及对应的英文表达。请围绕【我的研究主题/关键词】,检索近5年发表的高被引的中英文文献,优先选择顶刊综述/论文。

智能AI让学术科研更容易 277

[VT虚拟化驱动]正式启动VT

文章目录前言一、vmlaunch正式开始虚拟化二、使用步骤1.引入库2.读入数据总结 前言 本章开始真正实现一个最简单的VT框架,当然,只是能跑起来一个VT驱动了,没有并包括EPT,EPT后面再讲 提示:以下是本篇文章正文内容,下面案例可供参考 一、vmlaunch正式开始虚拟化 执行VMLAUNCH指令执行后,就正式进入虚拟化了,再该指令执行之前,得先保存Guest当前的环境,执行完VMLAUNCH后,要恢复Guest的环境,让Guest就像什么都没发生一样,所以需要保存和恢复Guest的各种寄存器的值

吾无法无天的博客 3663

【Embabel Agent】生产级最佳实践与避坑指南

本文围绕架构师最关心的 8 大维度展开:测试策略(FakeOperationContext 实现 Action 级单元测试、Prompt 质量与敏感信息校验)、MCP 集成实战(STDIO/HTTP 双模式、自建 Server、Docker MCP 生态)、RAG 检索增强、OpenTelemetry 全链路可观测性与追踪、Docker/K8s 生产部署、API Key 管理与 @Tool 安全防护、模型选择/缓存/并行等性能优化,以及过度依赖 LLM、忽略错误处理等 8 大常见反模式避坑指南。

program哲学 311

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
下一篇: myeclipse在线生成注册码
gwpJava
博客等级 码龄14年 11粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值