MySQL之多表查询—表子查询

news2024/11/24 4:58:11

一、引言

上一篇博客学习了行子查询。(看弹幕:同一张表用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.coloradmin.cn/o/1807260.html

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

相关文章

2024海南省大数据教师培训-Hadoop集群部署

前言 本文将详细介绍Hadoop分布式计算框架的来源,架构和应用场景,并附上最详细的集群搭建教程,能更好的帮助各位老师和同学们迅速了解和部署Hadoop框架来进行生产力和学习方面的应用。 一、Hadoop介绍 Hadoop是一个开源的分布式计算框架&…

使用Nextjs学习(学习+项目完整版本)

创建项目 运行如下命令 npx create-next-app next-create创建项目中出现的各种提示直接走默认的就行,一直回车就行了 创建完成后进入到项目运行localhost:3000访问页面,如果和我下面页面一样就是创建项目成功了 整理项目 将app/globals.css里面的样式都删除,只留下最上面三…

盲盒抽卡机小程序的特点,互联网下市场发展前景

近几年,盲盒抽卡成为了年轻人的新宠,也受到了未成年人的喜爱,卡牌的内容更是丰富多样,涵盖了动漫、漫画、影视等,因此吸引了各类消费者和越来越多的创业者。 目前,随着市场的发展,抽卡机小程序…

2024HW面试 中高级面试面经背诵笔记(持续更新)

常见数据库的端口,Vnc的端口等 参考答案地址:常见数据库默认端口号_数据库端口-CSDN博客 MySQL 3306 Oracle 1521 DB2 5000 PostgreSQL 5432 MongoDB 27017 Redis 6379 SQL Server 1433 vnc的端口是:5900 推荐一个很好的护网笔记&#xff…

代码随想录刷题笔记-哈希表篇

文章目录 242 有效的字母异位词(easy)力扣地址题目描述题目实例解题思路代码实现 383 赎金信(easy)力扣地址题目描述题目实例解题思路代码实现 49 字母异位词分组(mid)力扣地址题目描述题目实例解题思路代码实现 438 找到字符串中所有字母异位词(mid)力扣地址题目描述题目实例解…

802.11漫游流程简单解析与笔记_Part1

最近在进行和802.11漫游有关的工作,需要对wpa_supplicant认证流程和漫游过程有更多的了解,所以通过阅读论文等方式,记录整理漫游相关知识。Part1将记录802.11漫游的基本流程、802.11R的基本流程、与认证和漫游都有关的三层秘钥基础。Part1将包…

Leetcode3040. 相同分数的最大操作数目 II

Every day a Leetcode 题目来源:3040. 相同分数的最大操作数目 II 解法1:记忆化搜索 第一步可以做什么?做完后,剩下要解决的问题是什么? 删除前两个数,剩下 nums[2] 到 nums[n−1],这是一个…

AIGC之MetaHuman:HeyGen(基于AI驱动的视频生成平台+数字人)的简介、安装和使用方法、案例应用之详细攻略

AIGC之MetaHuman:HeyGen(基于AI驱动的视频生成平台数字人)的简介、安装和使用方法、案例应用之详细攻略 目录 HeyGen的简介 1、HeyGen是一款AI视频生成平台,它提供以下关键功能: HeyGen的安装和使用方法 1、使用方法 01创建或选择一个头…

2003远程桌面端口修改,远程桌面端口修改的方法有哪些

方法一:通过修改注册表 1、打开注册表编辑器: 打开“开始”菜单,点击“运行”,输入“regedit”,然后按下“Enter”键。 2、导航到远程桌面服务的注册表项: 依次展开以下路径: HKEY_LOCAL_M…

【Qt】Qt常见的数据类型

思维导图 学习目标 一、基础类型 因为Qt是一个C的框架,因此C的语法和数据类型在Qt中都是被支持的,但是Qt中也是定义了一些属于自己的数据类型,不过,好多数据类型都是对C的数据类型进行封装,下面来简要介绍一下这些基…

6.切蛋糕

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/71 题目描述 一个圆型的蛋糕,切 𝑛n 刀…

Rust-06-所有权

所有权(系统)是 Rust 最为与众不同的特性,它让 Rust 无需垃圾回收即可保障内存安全,下面是所有权以及相关功能:借用(borrowing)、slice 以及 Rust 如何在内存中布局数据。 通过所有权系统管理内…

JDBC学习笔记(二)进阶篇

一、JDBC 扩展 1.1 实体类和ROM 实体类代码: package com.atguigu.advanced.pojo;//类名就是数据库表的 t_ 后面的单词全写 public class Employee {private Integer empId;//emp_idprivate String empName;//emp_nameprivate Double empSalary;//emp_salarypriva…

FL Studio 21.2.3.4004官方中文破解版下载安装激活教程重磅发布含注册机

今天带来的是FL Studio 21中文版,内置破解补丁,可以完美激活程序。所有功能均可在线编辑,用户可直接操作。同时,因为FL Studio 21是最新版本,所以增加了新的功能。共有八种乐器和效果器插件,包括效果链、音…

在开源处理器架构RISC-V中发现可远程利用的中危漏洞

在RISC-V SonicBOOM处理器设计中发现中度危险的漏洞 最近,西北工业大学的网络空间安全学院胡伟教授团队在RISC-V SonicBOOM处理器设计中发现了一个中度危险的漏洞。这个团队的研究人员发现了一个可远程利用的漏洞,该漏洞存在于开源处理器架构RISC-V中。…

Redis系列-4 Redis集群介绍

Redis集群 Redis提供了持久化能力,保证了重启不会丢失数据;但Redis重启至完全恢复期间,缓存不可用。另外,对于高并发场景下,单点Redis服务器的性能不能满足吞吐量要求,需要进行横向扩展。此时,…

【适配鸿蒙next】Flutter 新一代混合栈管理框架

前言 据最新消息显示,华为今年下半年将全面转向其自主平台HarmonyOS,放弃Android系统。 报道中提到,下一版HarmonyOS预计将随华为即将推出的Mate 70旗舰系列一起发布。 据悉,HarmonyOS Next 已经扩展到4000个应用程序,…

【Python学习1】matplotlib和pandas库绘制人口数变化曲线

✍🏻记录学习过程中的输出,坚持每天学习一点点~ ❤️希望能给大家提供帮助~欢迎点赞👍🏻收藏⭐评论✍🏻指点🙏 一、Python库说明 Matplotlib Matplotlib是一个功能强大的Python 2D绘图库,它允…

【实战项目二】Python爬取豆瓣影评

目录 一、环境准备 二、编写代码 一、环境准备 pip install beautifulsoup4 pip intall lxml pip install requests我们需要爬取这些影评 二、编写代码 我们发现每个影评所在的div的class都相同,我们可以从这入手 from bs4 import BeautifulSoup import request…

修改云主机配置 - 内存增容

文章目录 一、修改云主机配置缘由二、修改云主机配置步骤1、查看云主机概述2、查看master云主机3、更改master云主机配置4、查看master云主机 三、使用Spark Shell玩Saprk SQL1、启动HDFS服务2、启动Spark集群3、启动集群模式Spark Shell4、读取文件生成单例数据帧5、将单列数据…