MySQL之多表查询—表子查询

一、引言

上一篇博客学习了行子查询。(看弹幕:同一张表用or,不同张表用union)


下面接着学习子查询当中的最后一种——表子查询。

  • 表子查询

1、概念

子查询返回的结果是多行多列,这种子查询称为表子查询。

2、常用的操作符

IN

3、注意

这个表子查询经常出现在 FROM 之后,

把表子查询返回的结果作为一张临时表,再和其它表进行联查操作。

接下来通过两个需求演示一下基本的用法。

二、操作

打开图形可视化工具 DataGrip 进行操作。

(0)员工表 emp 、部门表 dept

emp表

dept 表

(1)查询与员工 “ 必胜客 ”," 宋远桥 ”的职位和薪资相同的员工信息
1、分析(拆解需求)

先得去查询必胜客和宋远桥这两个员工的职位和薪资,再查询符合需求的员工信息

第一步

SELECT job,salary FROM emp WHERE name IN('必胜客','宋远桥'); /*这里用 OR 也行*/

第二步

2、实操

解决方法:我们使用 IN 

意思就是:

用 IN 就是在返回的这个多行多列表格当中选某一行,只要查询 SELECT 满足其中一行就查询出来

SELECT * FROM emp WHERE (job,salary) IN (SELECT job,salary FROM emp WHERE name IN('必胜客','宋远桥') );

(2)查询入职日期是 “ 2006-01-01 ” 之后的员工信息,及其部门信息
1、分析(拆解需求)

先查询出在指定入职时间之后的员工信息,再去查询这部分员工其对应的部门信息

第一步

SELECT * FROM emp WHERE entrydate > '2006-01-01';

2、实操

我们要把第一张查到的表作为一张 "临时表",去这里面查询对应的部门信息。

所以才有前面的:表子查询通常在 FROM 之后 

注意:这里还要用到左连接查询(因为防止有些字段为 NULL ,也要给他查询出来)

/* ON 后面接连接的条件 */
SELECT e.*,d.* FROM (SELECT * FROM emp WHERE entrydate > '2006-01-01') AS e LEFT JOIN dept AS d ON e.dept_id = d.id;

这上面的案例就用到了表子查询,它会把返回的表("临时表")作为一张表去联合其它表做一个联查操作表子查询返回的结果是多行多列的数据


这篇博客的内容就结束了。

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

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

相关文章

46-2 护网溯源 - 企业在护网中如何溯源得分

一、企业部署蜜罐 蜜罐是什么? 蜜罐是一种网络安全工具,用于诱使攻击者前来攻击,以便收集关于攻击者行为、手段和意图的信息。 企业部署蜜罐技术旨在识别潜在的安全威胁,并采取相应的防御措施。蜜罐可以模拟各种服务和系统,如数据库服务器、Web服务器等,以便引诱攻击者。…

关于Redis中哨兵(Sentinel)

Redis Sentinel 相关名词解释 名词 逻辑结构 物理结构 主节点 Redis 主服务 一个独立的 redis-server 进程 从节点 Redis 从服务 一个独立的 redis-server 进程 Redis 数据节点 主从节点 主节点和从节点的进程 哨兵节点 监控 Redis 数据节点的节点 一个独立的 re…

Golang-编码加密-Xor(GG)

go语言环境搭建 Golang学习日志 ━━ 下载及安装_golang下载-CSDN博客 go run xxx.go go build xxx.go 首先,cs.msf生成比特流数据. 放入xor,py脚本中进行xor加密. xor.py def xor(shellcode, key):new_shellcode ""key_len len(key)# 对shellcode的每一位进行…

OJ3829大石头的搬运工

题目: 在一款名为”大石头的搬运“的游戏中,玩家需要操作一排 n 堆石头,进行 n -1 轮游戏。每一轮,玩家可以选择一堆石头,并将其移动到任意位置。在n-1轮移动结束时,要求将所有的石头移动到一起(即所有石头…

“抖动“ 与工作集

目录 "抖动" 的产生原因 "抖动" 产生的详细原因 "抖动" 的示例场景 解决"抖动" 的方法 缺页率与物理块数的关系 1. 缺页率与内存大小的关系 2. 虚拟内存技术 3. 缺页率与物理块数关系的分析 4. 示例图解 5. 管理策略 工作集…

Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路

技术背景 Android平台推流模块,添加文字或png水印,不是一件稀奇的事儿,常规的做法也非常多,本文,我们主要是以大牛直播SDK水印迭代,谈谈音视频行业的精进和工匠精神。 第一代:不可动态改变的文…

计算机网络9——无线网络和移动网络2无线个人区域网 WPAN

文章目录 一、蓝牙系统二、低速 WPAN三、高速 WPAN 无线个人区域网WPAN(Wireless Personal Area Network)就是在个人工作的地方把属于个人使用的电子设备(如便携式电脑、平板电脑、便携式打印机以及蜂窝电话等)用无线技术连接起来自组网络,不需要使用接入点AP&#…

【设计模式】创建型设计模式之 建造者模式

文章目录 一、介绍定义UML 类图 二、用法1 简化复杂对象具体构建过程省略抽象的 Builder 类省略 Director 类 三、用法2 控制对象构造方法、限制参数关系Guava 中使用建造者模式构建 cache 来进行参数校验 一、介绍 定义 建造者模式,将一个复杂的对象的构建过程与…

实用软件分享---简单菜谱 0.3版本 几千种美食(安卓)

专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…

MC联机无法连接到服务器怎么解决

MC联机无法连接到服务器?弹性云服务器来帮您解决!在《我的世界》(Minecraft,简称MC)的联机冒险中,无法连接到服务器无疑是每个玩家最头疼的问题之一。无论是与好友组队探险,还是加入心仪的社区服…

Nginx-反向代理如何配置

反向代理 为服务响应方提供中转 正向代理 为服务请求方提供中转 后端的域名和ip要和反向代理的保持一致 加权轮询(weight1;)和ip_hash是不能一起用的 /usr/local/nginx/sbin/nginx -v //查看版本 反向代理 谁第一响应就解析谁 nginx-2的ip:192.168.241.10 安装nginx 启动…

Hive日志介绍

日志描述 日志路径:Hive相关日志的默认存储路径为“/var/log/Bigdata/hive/角色名”,Hive1相关日志的默认存储路径为“/var/log/Bigdata/hive1/角色名”,以此类推。 HiveServer:“/var/log/Bigdata/hive/hiveserver”&#xff0…

住宿管理系统 java+jsp+web三件套

文章目录 1、简要介绍2、数据库设计3、中间遇到的困难一、数据问题二、文件问题 4、项目 写了将近3周,人都写麻了 记录下,第一个 ss 代码 仅仅使用了layui作为前端UI框架,因为另一个项目用的也是他,感觉一些组件比较好用 后端是j…

从零开始学C语言系列之番外篇《初学单片机的路》

写在前面的话 入嵌入式,避免不了学C语言,那初学者知道要学,但大多都不知到要学到哪,基本都是推荐C语言学完结构体,指针足以,那前面需要学啥也没讲,要学多深也没讲,基本都是一头雾水。…

reverse入门刷题(6.9)

总结: 拿到附件,先运行看看有没有信息,再查壳,再IDA运行 1.Easy_vb 收获: 使用搜索:在String的时候用的是ctrlf 在IDA_view的时候使用搜索是Aitt 打开IDA,Aitt搜索MCTF(关键字即…

文献阅读:Solving olympiad geometry without human demonstrations

文献阅读:Solving olympiad geometry without human demonstrations 1. 文章简介2. 方法介绍 1. Overview2. Symbolic deduce3. Language Model4. 联合使用 3. 实验考察 & 结论 1. 基础实验考察2. 结果分析3. 样例展示 4. 总结 & 思考 文献链接&#xff1a…

看似不同的事情,却是相同的坑

目录 一、背景二、过程1.遭遇战-微盘股的下杀2.不失为一件好事3.一切向后看吧,最近的学习感受4.该有的心境 三、总结 一、背景 也在一点点改变,期间势必要经历流血的过程;所谓无疯狂不成长,积极的心态去应对,去总结总…

引入Springcloud--Sleuth-链路追踪中MDC是如何获取到traceid和何时放入traceid的

在分布式项目中需要引入 spring-cloud-starter-sleuth框架来记录跟踪请求在不同服务之前流转的路径。在整个流转路径通过traceid将所有的路径给串联起来。 项目中需要保存traceid来实现日志快速搜索和定位,可以通过MDC.get("traceId")获取到traceId。 …

评书下载到u盘,下载到内存卡,下载到手机或电脑的方法

评书下载的方法有很多种,无论是通过什么方法,我们都可以快速的获取喜爱的评书。下面将详细介绍常见的评书下载方法,帮助您快速上手。 1、搜索“十方评书网”。 2、要下载那个评书家的选择那个评书家就可以。 3、点击进去后可以一键下载单部评…

nodejs 第三方库 exiftool-vendored

exiftool-vendored 是一款可以帮助你快捷修改图片信息的第三方库。如果你想要批量修改图片信息的话,那么它是一个不错的选择。 1.导入第三方库 在控制台中执行下面代码即可。 npm install exiftool-vendored --save2.获取信息 这里给出例子。 const { exiftool …