【MySQL】P9 多表查询(3) - 子查询
子查询
- 子查询
- 基本概念(公式)
- 子查询分类
- 按照结果分类
- 标量 子查询
- 列 子查询
- 行 子查询
- 表 子查询
子查询
基本概念(公式)
SQL查询语句中嵌套Select语句,称为嵌套查询,亦称为子查询;
select * from t1 where column1=(select column1 from t2);
# (select column1 from t2) 内容称为子查询
子查询分类
根据子查询结果不同,可以分为:
- 标量子查询(子查询结果为单个值);
- 列子查询(子查询结果为一列);
- 行子查询(子查询结果为一行);
- 表子查询(子查询结果为多行多列);
根据子查询位置,可以分为:
- where 子查询
- from 子查询
- select 子查询
按照结果分类
标量 子查询
标量子查询:子查询结果为单个值;
e.g.1e.g.1e.g.1 查询销售部的员工信息:
# 子查询为:查询销售部的id值
# 子查询语句为:(select id from dept where name='销售部')
select * from emp where dept_id=(select id from dept where name='销售部');
e.g.2e.g.2e.g.2 查询在 老徐 入职之后的员工信息
# 子查询为:查询老徐的入职日期
# 子查询语句为:(select entrydate from emp where name='老徐')
select * from emp where entrydate > (select entrydate from emp where name='老徐');
列 子查询
列子查询:子查询返回的结果是一列;
in # 在指定集合范围内,多选一
not in # 不在指定集合范围内
any # 子查询返回列表的任意一个值满足
some # 子查询返回列表的任意一个值满足
all # 子查询返回列表的所有值都必须满足
e.g.1e.g.1e.g.1 查询销售部和市场部所有员工信息
# 子查询为:查询销售部和市场部的部门id
# 子查询语句为:(select id from dept where name='销售部' or name='市场部')
select * from emp where dept_id in (select id from dept where name='市场部' or name='销售部');
e.g.2e.g.2e.g.2 查询比财务部所有人工资都高的员工信息
# 子查询为:查询财务部所有人工资
# 子查询语句为:select salary from emp where dept_id = (select id from dept where name = '财务部');
select * from emp where salary > all(select salary from emp where dept_id = (select id from dept where name = '财务部'));
e.g.3e.g.3e.g.3 查询比研发部任意一个员工工资高的员工信息
# 子查询为:查询研发部所有人工资
# 子查询语句为:select salary from emp where dept_id = (select id from dept where name = '研发部');
select * from emp where salary > any(select salary from emp where dept_id = (select id from dept where name = '研发部'));
# any 换成 some 结果相同;
行 子查询
行子查询:子查询返回的结果是一行,多列;
e.g.e.g.e.g. 查询与 老徐 的薪资以及直属领导相同的员工信息
# 子查询为:查询”老徐“的薪资以及直属领导
# 子查询语句为:(select salary,managerid from emp where name='老徐');
select * from emp where (salary,managerid) = (select salary,managerid from emp where name='老徐');
表 子查询
表子查询:子查询返回结果是多行多列;
e.g.1e.g.1e.g.1 查询与 老徐,老张 的职位和薪资相同的员工信息
# 子查询为:查询”老徐“,”老张“的职位和薪资
# 子查询语句为:(select job,salary from emp where name='老徐' or name='老张');
select * from emp where (job,salary) in (select job,salary from emp where name='老徐' or name='老张');
e.g.2e.g.2e.g.2 查询入职日期是2006-01-01之后的员工信息,以及其部门信息;
# 子查询为:查询入职日期在2006-01-01之后的员工信息
# 子查询语句为:(select * from emp where entrydate > '2006-01-01');
select e.*, d.* from (select * from emp where entrydate > '2006-01-01') e left join dept d on e.dept_id = d.id;
相关文章:
【MySQL】P9 多表查询(3) - 子查询
子查询子查询基本概念(公式)子查询分类按照结果分类标量 子查询列 子查询行 子查询表 子查询子查询 基本概念(公式) SQL查询语句中嵌套Select语句,称为嵌套查询,亦称为子查询; select * from…...
SpringMVC中的拦截器不生效的问题解决以及衍生出的WebMvcConfigurationSupport继承问题思考
文章目录SpringMVC中的拦截器不生效的问题解决WebMvcConfigurationSupport继承问题思考SpringMVC中的拦截器不生效的问题解决 过滤器代码(被Spring扫描并管理): Component public class StuInterceptor implements HandlerInterceptor {Overridepublic boolean pr…...
【量化交易笔记】3.实现数据库保存数据
上一节,我们通过下载相关的 pandas 数据保存为 本地csv文件,这一节将上节的数据以数据库方式保存。 数据库保存 采集数据部分前一节已做说明,这里就直接用采用前面的内容。这里着重说明的事数据库连接。对与 python 相连接的数据库有很多&a…...
[数据结构]:15-堆排序(顺序表指针实现形式)(C语言实现)
目录 前言 已完成内容 堆排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代码…...
蓝桥 卷“兔”来袭编程竞赛专场-02破解曾公亮密码 题解
赛题介绍 挑战介绍 曾公亮编撰的《武经总要》中记载了一套严谨的军事通信密码,这也是目前发现我国古代战争中最早使用的军用密码表。将战场上可能常用到的情况,用 40 个短语归纳表示,且每个短语前编有固定的数字代码,这 40 个短…...
CSS定位
🍓个人主页:bit.. 🍒系列专栏:Linux(Ubuntu)入门必看 C语言刷题 数据结构与算法 HTML和CSS3 目录 1.1为什么需要定位? 1.2定位组成 1.3静态定位static(了解) 1.4相对定位 relative …...
python sympy库
sympy库是python的符号运算库,是电脑辅助简单数学函数计算的好工具。本文简单记录了一下有关sympy的方法。建议使用jupyter notebook,这样输出的函数很好看。 文章目录sympy基础安装自变量(Symbols)函数表达式(Expr&am…...
达梦数据库统计信息的导出导入
一、统计信息对象统计信息描述了对象数据的分布特征。统计信息是优化器的代价计算的依据,可以帮助优化器较精确地估算成本,对执行计划的选择起着至关重要的作用。统计信息的收集频率是一把双刃剑,频率太低导致统计信息滞后,频率太…...
信息系统基本知识(六)
大纲 信息系统与信息化信息系统开发方法常规信息系统集成技术软件工程新一代信息技术信息系统安全技术信息化发展与应用信息系统服务管理信息系统服务规划企业首席信息管及其责任 1.7 信息化发展与应用 我国在“十三五”规划纲要中,将培育人工智能、移动智能终端…...
<C++>智能指针
1. 智能指针 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<memory> using namespace std;int div() {int a, b;cin >> a >> b;if (b 0)throw invalid_argument("除0错误");return a / b; }void func() {int* p1 new in…...
1.分析vmlinux可执行文件是如何生成的? 2.整理内核编译流程:uImage/zImage/Image/vmlinx之间关系
一、分析vmlinux可执行文件是如何生成的? 1、分析内核的底层 makefile 如下: vmlinux: scripts/link-vmlinux.sh vmlinux_prereq $(vmlinux-deps) FORCE$(call if_changed,link-vmlinux)vmlinux_prereq: $(vmlinux-deps) FORCE发现vmlinux的生成主要依…...
数据结构4——线性表3:线性表的链式结构
基本概念 链式存储结构用一组物理位置任意的存储单元来存放线性表的数据元素。 这组存储单元既可以是连续的又可以是不连续的甚至是零散分布在任意位置上的。所以链表中元素的逻辑次序和物理次序不一定相同。而正是因为这一点,所以我们要利用别的方法将这些…...
weblogic 忘记密码重置密码
解决:weblogic 忘记密码 weblogic安装后,很久不用,忘记访问控制台的用户名或者密码,可通过以下步骤来重置用户名密码。 版本:WebLogic Server 11g 说明:%DOMAIN_HOME%:指WebLogic Server 域(…...
安卓开发之动态设置网络访问地址
之前开发程序联测测接口的时候,因为要和不同的后台人员调接口,所以经常要先把程序里的ip地址改成后台人员给我的。每次都要先修改ip地址,之后编译运行一下,才能测试。但要是换了个后台人员,或者同时和2个后台人员测接口…...
深度学习模型训练工作汇报(3.8)
进行数据的初始整理的准备 主要是进行伪序列字典的设置,以及训练数据集的准备。 期间需要的一些问题包括在读取文件信息的时候,需要跳过文件的第一行或者前两行,如果使用循环判断的话,会多进行n次的运算,这是不划算的…...
【ns-3】添加nr(5G-LENA)模块
文章目录前言1. 下载5G-LENA源代码2. 配置并重新构建ns-3项目参考文献前言 本篇以ns-3.37为例介绍如何在ns-3中添加nr(5G-LENA)模块 [1]。5G-LENA是一个由Mobile Networks group CTTC(Centre Tecnolgic de Telecomunicacions de Catalunya&a…...
(枚举)(模拟)(前缀和)(数组模拟哈希)(可二分)1236. 递增三元组
目录 题目链接 一些话 流程 套路 ac代码 题目链接 1236. 递增三元组 - AcWing题库 一些话 int f[N]; memset(f,0,sizeof f)影响不到f[N] 所以尽量不要对f[N]赋值,不要用f[N]操作 流程 //由三重暴力i,j,k因为三重暴力底下是分别用i和j,j和k作比较…...
mysql五种索引类型(实操版本)
为什么使用索引 最近学习了Mysql的索引,索引对于Mysql的高效运行是非常重要的,正确的使用索引可以大大的提高MySql的检索速度。通过索引可以大大的提升查询的速度。不过也会带来一些问题。比如会降低更新表的速度(因为不但要把保存数据还要保…...
微服务进阶之 SpringCloud Alibaba
文章目录微服务进阶🍓SpringCloud 有何劣势?🍓SpringCloud Alibaba 提供了什么?提示:以下是本篇文章正文内容,SpringCloud 系列学习将会持续更新 微服务进阶 🍓SpringCloud 有何劣势࿱…...
前端性能优化笔记2 第二章 度量
相关 Performance API 都在 window.performance 对象下 performance.now() 方法 精度精确到微妙获取的是把页面打开时间点作为基点的相对时间,不依赖操作系统的时间。 部分浏览器不支持 performance.now() 方法,可以用 Date.now() 模拟 performance.n…...
AI Agent工程师进阶指南:掌握核心技能,冲击高薪(P7-P8必备)!
本文详细介绍了AI Agent工程师的能力分层,从API调用工程师到系统设计工程师再到基础设施架构师,明确了不同层级的能力要求和市场现状。文章深入剖析了核心技术栈,包括向量数据库、RAG系统、Agent架构、Memory系统以及生产化工程等关键领域&am…...
GLM-4.7-Flash效果展示:中文诗歌格律检测+不合格处自动标注与修改建议
GLM-4.7-Flash效果展示:中文诗歌格律检测不合格处自动标注与修改建议 1. 引言:当AI遇见古典诗词 你有没有想过,让一个AI来当你的诗词老师?不是那种只会背诗的AI,而是能一眼看出你写的诗哪里平仄不对、哪里押韵出错的…...
pybind11进阶指南:如何高效封装C++类供Python调用(附常见问题解决方案)
pybind11进阶指南:如何高效封装C类供Python调用(附常见问题解决方案) 在当今高性能计算和科学计算领域,C与Python的结合已成为开发者工具箱中不可或缺的组合。C提供底层性能优势,而Python则以其简洁语法和丰富生态著称…...
RTK定位从入门到实践:如何利用千寻服务和Ntrip协议,让你的无人机定位精度达到厘米级?
RTK定位从入门到实践:如何利用千寻服务和Ntrip协议实现厘米级无人机定位 当无人机在农田上方悬停时,1米的定位误差可能导致农药喷洒完全错过目标作物;当测绘无人机进行地形扫描时,几厘米的高度误差可能使整个3D建模数据失效。这就…...
告别付费IP!手把手教你用ZCU102 PS端DP接口点亮显示器(附参数调试心得)
解锁ZCU102 PS端DisplayPort潜力:零成本实现高效显示输出的实战指南 在嵌入式视觉系统开发中,显示输出往往是项目落地的最后一道关卡。当我在多个Zynq UltraScale MPSoC项目中反复遭遇HDMI IP核的授权困扰和PL端实现的复杂性后,意外发现PS端集…...
为什么MedNeXt能超越Transformer?揭秘大卷积核在医学图像分割中的独特优势
MedNeXt如何用大卷积核重塑医学图像分割?技术优势全解析 当你在深夜的医院影像科,看着屏幕上模糊的CT扫描图,试图从那些灰度渐变中分辨出肿瘤边界时,是否会想过AI模型眼中的世界?医学图像分割——这个决定患者治疗方案…...
ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成
ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成 1. 项目介绍与核心价值 cv_resnet50_face-reconstruction 是一个基于ResNet50架构的人脸重建项目,专门为艺术创作和设计工作提供高质量的人脸底图生成服务…...
MariaDB Docker容器权限配置问题分析与解决方案
MariaDB Docker容器权限配置问题分析与解决方案 1. 问题背景 在使用MariaDB Docker容器时,用户遇到了远程访问权限配置失效的问题。具体表现为: 手动创建的远程用户(如root%、****%、********%)在容器重启后无法远程连接权限表中显…...
mkcert 命令文档 - 本地 HTTPS 开发证书生成工具详解
1. 命令简介mkcert 是一个用 Go 语言编写的、零配置的本地开发用自签名证书生成工具。它能够自动创建并安装本地证书颁发机构(CA)到系统的信任存储中,并生成受本地信任的开发证书,大幅简化 HTTPS 本地开发环境的搭建过程ÿ…...
从RGA注意力机制到实战:行人重识别模型核心代码与论文精讲
1. RGA注意力机制原理解析 行人重识别(Person Re-identification)是计算机视觉领域的重要课题,而注意力机制在其中扮演着关键角色。RGA(Relation-aware Global Attention)机制通过建立全局关系感知模型,显…...
