【lesson21】MySQL复合查询(2)子查询

文章目录

  • 子查询
    • 测试要用到的表
    • 测试要用到的数据
    • 单行子查询
      • 案例
    • 多行子查询
      • 案例
    • 多列子查询
      • 案例
    • 在from子句中使用子查询
      • 案例
    • 合并查询
      • union
      • 案例
      • union all
      • 案例

子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询

测试要用到的表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试要用到的数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单行子查询

返回一行记录的子查询
也就是嵌套的select只返回一行数据。

案例

显示SMITH同一部门的员工
在这里插入图片描述

多行子查询

返回多行记录的子查询
也就是嵌套的select返回多行数据。

案例

查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的
in关键字
在这里插入图片描述
显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号
法一:
在这里插入图片描述
法二:all关键字
在这里插入图片描述
显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)
any关键字
在这里插入图片描述

多列子查询

单行子查询是指子查询只返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句

案例

查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人
在这里插入图片描述
任何时刻,临时查询出来的结果,本质上也是表结构。

在from子句中使用子查询

子查询语句出现在from子句中。这里要用到数据查询的技巧,把一个子查询当做一个临时表使用。

案例

显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资
在这里插入图片描述
查找每个部门工资最高的人的姓名、工资、部门、最高工资
在这里插入图片描述

显示每个部门的信息(部门名,编号,地址)和人员数量
法一:使用子查询
在这里插入图片描述
法二:使用多表
在这里插入图片描述
解决多表问题的本质:想办法将多表转化为单表,所以mysql中,所有select的问题全部都可以转化成单表问题。----多表查询的指导思想

合并查询

在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all

union

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中的重复行。

案例

将工资大于2500或职位是MANAGER的人找出来
在这里插入图片描述

union all

该操作符用于取得两个结果集的并集。当使用该操作符时,不会去掉结果集中的重复行。

案例

将工资大于2500或职位是MANAGER的人找出来
在这里插入图片描述
这里用来同样的案例就是为了展示union和union all的不同。

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

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

相关文章

坚持提升这个能力,让你越来越强大

哈喽,你好啊!我是雷工。 今天在读《张一鸣管理日志》时,看到这么一句话: “产品创新要从根本上解决问题,而不是想办法绕过问题,解决的问题很可能就是将来的核心竞争力。” 这让我想起了亚马逊公司&#x…

LeetCode 热题100——单调栈

​ 个人主页:日刷百题 系列专栏:〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 🌎欢迎各位→点赞👍收藏⭐️留言📝 ​ ​ 写在前面: 递增单调栈:栈中元素从栈底到栈顶依次增大 递减单调栈…

3D模型人物换装系统(二 优化材质球合批降低DrawCall)

3D模型人物换装系统 介绍原理合批材质对比没有合批材质核心代码完整代码修改总结 介绍 本文使用2018.4.4和2020.3.26进行的测试 本文没有考虑法线贴图合并的问题,因为生成法线贴图有点问题,放在下一篇文章解决在进行优化 如果这里不太明白换装的流程可以…

HarmonyOS引导页登陆页以及tabbar的代码说明1

效果 以下代码是东拼西凑出来的。只是为了个人熟悉一下相关模块的使用: 用的知识点: Resouces 此部分分内容可以在项目中找到: resources/base/element/color.json 为项目着色配置,当然也可以正接在代码里写 float.json 为相关…

IPv6路由基础-理论与配置

在企业网络中,IPv6技术的应用越来越普及。IETF组织针对IPv6网络制定了路由协议OSPFv3。 OSPFv3 ff02::5是为OSPFv3路由协议预留的IPv6组播地址。OSPFv3中的路由条目下一跳地址是链路本地地址。OSPFv3是运行在IPv6网络的OSPF协议。运行OSPFv3的路由器使用物理接口的…

浅析 fuse kernel mmap write 过程及性能问题

前言 最近在项目里面用到了fuse文件系统,在使用过程中遇到了一个内核在做mmap write的一个bug,目前并没有从根本上解决这个bug,而是通过修改fuse kernel module的一些参数,绕开了这个bug。这里记录一下这个问题,并顺便…

手把手教你在windows上安装Portainer

前言 大家好,我是潇潇雨声。在之前的文章中,我们探讨了在 Windows 上安装 Docker 的方法。今天,我将简要介绍一个开源的轻量级容器管理工具——Portainer,它类似于 navicat。Portainer 是一个与 navicat 类似的工具,但…

Amazon Toolkit — CodeWhisperer 使用

tFragment--> 官网:https://aws.amazon.com/cn/codewhisperer/?trkcndc-detail 最近学习了亚马逊云科技的 代码工具,感慨颇多。下面是安装 和使用的分享。 CodeWhisperer,亚马逊推出的实时 AI 编程助手,是一项基于机器学习…

详解数据科学自动化与机器学习自动化

过去十年里,人工智能(AI)构建自动化发展迅速并取得了多项成就。在关于AI未来的讨论中,您可能会经常听到人们交替使用数据科学自动化与机器学习自动化这两个术语。事实上,这些术语有着不同的定义:如今的自动…

【QT Visual Studio环境配置】error MSB8020: 无法找到 v141/v142 的生成工具(完整版)

首先要了解V**平台工具集根据你安装的Visual Studio版本不同而有所区别,知道这个就容易解决问题了,确定你安装的那个版本,需要使用哪个工具集。 v143–>VS2022v142–>VS2019v141–>VS2017v140–>VS2015v120–>VS2013 一、解决…

机器学习之线性回归(Linear Regression)附代码

概念 线性回归(Linear Regression)是机器学习中的一种基本的监督学习算法,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。它假设输入变量与输出变量之间存在线性关系,并试图找到最佳拟合线来描述这种关系。 在简单线性回归中,只涉及两个变量:一个是自变量…

MySQL:通过官方mysql server,搭建绿色版mysql服务器(Windows)

1. 官网下载mysql server 下载mysql server的zip文件,地址: https://downloads.mysql.com/archives/community/ 解压后 2. 初始化数据库 运行cmd, 进入bin目录,运行 mysqld --initialize-insecureinitialize-insecure说明如…

Jenkins 插件下载速度慢安装失败?这篇文章可能解决你头等难题!

Jenkins部署完毕,如果不安装插件的话,那它就是一个光杆司令,啥事也做不了! 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI/CD必要插件。 但是问题来了,jenkins下载插件速度非常慢&#xff0c…

Educational Codeforces Round 160 (Div. 2) A~E

A.Rating Increase(思维) 题意: 给出一个仅包含数字的字符串 s s s,要求将该字符串按以下要求分成左右两部分 a , b a,b a,b: 两个数字均不包含前导 0 0 0 两个数字均大于 0 0 0 b > a b > a b>a 如果…

算法基础之快速幂

快速幂 核心思想&#xff1a;logk的复杂度求出ak mod p 将k拆成若干个2的n之和 (二进制) #include<iostream>#include<algorithm>using namespace std;typedef long long LL;LL qmi(int a,int k,int p){LL res 1 % p;while(k) //k转为二进制 还有正数 就进行…

U-MixFormer:用于高效语义分割的类unet结构的混合注意力Transformer

论文&#xff1a; 代码&#xff1a;GitHub - RecklessRonan/MuSE 感觉这篇比较优雅无痛涨点欸.....最近要期末了没时间看文章和做实验了&#xff08;摊 摘要 语义分割在Transformer架构的适应下取得了显著的进步。与Transformer的进步并行的是基于CNN的U-Net在高质量医学影…

QT基础介绍

QT介绍 QT 是跨平台的c开发库&#xff0c;主要用来开发图形用户界面&#xff08;Graphical User Interface&#xff0c;GUI&#xff09;程序&#xff0c;当然也可以开发不带界面的命令行&#xff08;command user interface&#xff0c;CUI&#xff09;程序。 Qt中文官网&…

互操作性(Interoperability)如何影响着机器学习的发展?

互操作性&#xff08;Interoperability&#xff09;&#xff0c;也称为互用性&#xff0c;即两个系统之间有效沟通的能力&#xff0c;是机器学习未来发展中的关键因素。对于银行业、医疗和其他生活服务行业&#xff0c;我们期望那些用于信息交换的平台可以在我们需要时无缝沟通…

mt5和mt4交易软件有什么区别?

MetaTrader 4&#xff08;MT4&#xff09;和MetaTrader 5&#xff08;MT5&#xff09;是两种广泛使用的外汇和金融市场交易平台&#xff0c;由MetaQuotes公司开发。尽管它们都是外汇交易的常见选择&#xff0c;但在功能和特性上存在一些区别。以下是MT4和MT5之间的主要区别&…

python三大开发框架django、 flask 和 fastapi 对比

本文讲述了什么启发了 FastAPI 的诞生&#xff0c;它与其他替代框架的对比&#xff0c;以及从中汲取的经验。 如果不是基于前人的成果&#xff0c;FastAPI 将不会存在。在 FastAPI 之前&#xff0c;前人已经创建了许多工具 。 几年来&#xff0c;我一直在避免创建新框架。首先&…