8.MySQL复合查询|多表查询|自连接|子查询|合并查询

即插即用!5分钟为你的SNN模型添加频谱注意力(DCT-SA模块实战) 本文介绍了如何为脉冲神经网络(SNN)快速集成即插即用的DCT-SA频谱注意力模块。该模块利用离散余弦变换(DCT)在频率域自适应加权特征,能有效提升模型对纹理、边缘的感知能力,并在CIFAR10-DVS等数据集上实现分类精度提升与脉冲发放率下降。文章以SpikingJelly框架和ResNet19为例,提供了详细的代码实现、集成步骤及参数调优实战指南。 阅读详情

基本查询回顾

  • 查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J
select * from EMP where (sal>500 or job='MANAGER') and ename like 'J%';

![[Pasted image 20260508184401.png]]

  • 按照部门号升序而雇员的工资降序排序
select * from EMP order by deptno, sal desc;

![[Pasted image 20260508184514.png]]
![[Pasted image 20260508184812.png]]

  • 使用年薪进行降序排序
select ename, sal*12+ifnull(comm,0) as '年薪' from EMP order by 年薪 desc;

![[Pasted image 20260508184833.png]]

![[Pasted image 20260508184902.png]]

![[Pasted image 20260508184914.png]]

![[Pasted image 20260508184932.png]]

  • 显示工资最高的员工的名字和工作岗位
select ename, job from EMP where sal = (select max(sal) from EMP);

![[Pasted image 20260508185304.png]]

  • 显示工资高于平均工资的员工信息
select ename, sal from EMP where sal>(select avg(sal) from EMP);

![[Pasted image 20260508185340.png]]

  • 显示每个部门的平均工资和最高工资
select deptno, format(avg(sal), 2) , max(sal) from EMP group by deptno;

![[Pasted image 20260508185425.png]]

![[Pasted image 20260508185504.png]]

  • 显示平均工资低于2000的部门号和它的平均工资
select deptno, avg(sal) as avg_sal from EMP group by deptno having avg_sal<2000;

![[Pasted image 20260508185602.png]]

  • 显示每种岗位的雇员总数,平均工资
select job,count(*), format(avg(sal),2) from EMP group by job;

![[Pasted image 20260508185655.png]]

![[Pasted image 20260508185705.png]]

![[Pasted image 20260508185727.png]]

多表查询

实际开发中往往数据来自不同的表,所以需要多表查询。本节我们用一个简单的公司管理系统,有三张表EMP,DEPT,SALGRADE来演示如何进行多表查询

  • 显示雇员名、雇员工资以及所在部门的名字因为上面的数据来自EMP和DEPT表,因此要联合查询
    ![[Pasted image 20260508185909.png]]

其实我们只要emp表中的deptno = dept表中的deptno字段的记录
![[Pasted image 20260508190159.png]]

![[Pasted image 20260508190209.png]]

![[Pasted image 20260508190225.png]]

select EMP.ename, EMP.sal, DEPT.dname from EMP, DEPT where EMP.deptno = DEPT.deptno;
  • 显示部门号为10的部门名,员工名和工资
select ename, sal,dname from EMP, DEPT where EMP.deptno=DEPT.deptno and DEPT.deptno = 10;

![[Pasted image 20260508190334.png]]

![[Pasted image 20260508190350.png]]

  • 显示各个员工的姓名,工资,及工资级别
select ename, sal, grade from EMP, SALGRADE where EMP.sal between losal and  hisal;

![[Pasted image 20260508190419.png]]

![[Pasted image 20260508190428.png]]

![[Pasted image 20260508190438.png]]

自连接

自连接是指在同一张表连接查询
![[Pasted image 20260508190510.png]]

显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号–empno)

  • 使用的子查询
select empno,ename from emp where emp.empno=(select mgr from emp where ename='FORD');

![[Pasted image 20260508190700.png]]

![[Pasted image 20260508190629.png]]

![[Pasted image 20260508190640.png]]

  • 使用多表查询(自查询)
-- 使用到表的别名  
--from emp leader, emp worker,给自己的表起别名,因为要先做笛卡尔积,所以别名可以先识别 

select leader.empno,leader.ename from emp leader, emp worker where leader.empno = worker.mgr and worker.ename='FORD';

![[Pasted image 20260508190716.png]]

![[Pasted image 20260508190726.png]]

子查询

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

单行子查询

返回一行记录的子查询

  • 显示SMITH同一部门的员工
select * from EMP WHERE deptno = (select deptno from EMP where ename='smith');

![[Pasted image 20260508190853.png]]

多行子查询

返回多行记录的子查询

  • in关键字;查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的
select ename,job,sal,deptno from emp where job in (select distinct job from emp where deptno=10) and deptno<>10;

![[Pasted image 20260508190938.png]]

![[Pasted image 20260508191041.png]]

![[Pasted image 20260508191056.png]]

![[Pasted image 20260508191114.png]]

  • all关键字;显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号
select ename, sal, deptno from EMP where sal > all(select sal from EMP where deptno=30);

![[Pasted image 20260508191131.png]]

![[Pasted image 20260508191222.png]]

![[Pasted image 20260508191233.png]]

  • any关键字;显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)
select ename, sal, deptno from EMP where sal > any(select sal from EMP where deptno=30);

![[Pasted image 20260508191259.png]]

![[Pasted image 20260508191307.png]]

多列子查询

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

  • 查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人
select ename from EMP where (deptno, job)=(select deptno, job from EMP where ename='SMITH') and ename <> 'SMITH';

![[Pasted image 20260508191449.png]]

![[Pasted image 20260508191503.png]]

在from子句中使用子查询

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

  • 显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资
//获取各个部门的平均工资,将其看作临时表  
select ename, deptno, sal, format(asal,2) from EMP, (select avg(sal) asal, deptno dt from EMP group by deptno) tmp where EMP.sal > tmp.asal and EMP.deptno=tmp.dt;

![[Pasted image 20260508191544.png]]

![[Pasted image 20260508191617.png]]

![[Pasted image 20260508191629.png]]

![[Pasted image 20260508191723.png]]

![[Pasted image 20260508191736.png]]

![[Pasted image 20260508191751.png]]

  • 查找每个部门工资最高的人的姓名、工资、部门、最高工资
select EMP.ename, EMP.sal, EMP.deptno, ms from EMP, (select max(sal) ms, deptno from EMP group by deptno) tmp where EMP.deptno=tmp.deptno and EMP.sal=tmp.ms;

![[Pasted image 20260508191904.png]]

![[Pasted image 20260508191925.png]]

![[Pasted image 20260508191936.png]]

![[Pasted image 20260508191957.png]]

  • 显示每个部门的信息(部门名,编号,地址)和人员数量
    • 使用多表
select DEPT.dname, DEPT.deptno, DEPT.loc,count(*) '部门人数' from EMP,  
DEPT where EMP.deptno=DEPT.deptno group by DEPT.deptno,DEPT.dname,DEPT.loc;

![[Pasted image 20260508192328.png]]

![[Pasted image 20260508192340.png]]

解决多表问题的本质:想办法将多表转化成为单表,所以 mysql 中,所有 select 的问题全部都可以转成单表问题!
→ 多表查询的指导思想!

  • 使用子查询
-- 1. 对EMP表进行人员统计
select count(*), deptno from EMP group by deptno;
-- 2. 将上面的表看作临时表
select DEPT.deptno, dname, mycnt, loc from DEPT, (select count(*) mycnt, deptno from|EMP group by deptno) tmp where DEPT.deptno=tmp.deptno;

![[Pasted image 20260508192230.png]]

![[Pasted image 20260508192242.png]]

![[Pasted image 20260508192255.png]]

合并查询
  • union
    该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中的重复行
  • 将工资大于2500或职位是MANAGER的人找出来
select ename, sal, job from EMP where sal>2500 union -> select ename, sal, job from EMP where job='MANAGER';--去掉了重复记录

![[Pasted image 20260508192543.png]]

  • union all
    该操作符用于取得两个结果集的并集。当使用该操作符时,不会去掉结果集中的重复行。
  • 将工资大于25000或职位是MANAGER的人找出来
select ename, sal, job from EMP where sal>2500 union all -> select ename, sal, job from EMP where job='MANAGER';

![[Pasted image 20260508192618.png]]

点云配准3:3d-ndt算法在pcl上的实现以及参数设置 3d-ndt算法在pcl上的使用方法以及参数设置 阅读详情

相关推荐

OpenAI Codex 桌面端国内使用全坑解決指南(2026 Windows 实测)

本地文件报错:SQLite 初始化失败、启动闪退、卡加载页 → 本地缓存/数据库损坏,和网络无关网络地区报错→ 网络IP/地区被拦截,和本地软件文件无关Codex 桌面端的大部分报错,都不是软件故障,而是海外软件适配国内网络、国内模型协议不兼容导致的适配问题。不用盲目重装、换网络、改系统设置,只要区分「本地文件问题」和「网络地区问题」,搭配国内大模型 API 替代方案,就能完美解决所有痛点。(注:部分内容可能由 AI 生成)

ups_hxc的博客 1082

MySQL复合查询全解析:从基础到多表关联与高级技巧

小技巧:任何时刻,查询出来的临时结构,本质在逻辑上也是表结构。解决多表问题的本质:想办法将多表转化为单表,所以MySQL中,所有select的问题全部都可以转成单表问题!

可涵的博客 1万+

ESD放电模式以及电源箝位 (power clamp )电路

由于ESD电压具有很快的上升速度(其ESD脉冲上升时间约在10ns左右),Vrc端的电压因为RC延迟效应无法跟得上VDD端的ESD电压上升速度,Vrc端的为低电位导致反相器工由于ESD电压具有很快的上升速度(其ESD脉冲上升时间约在10ns左右),Vrc端的电压因为RC延迟效应无法跟得上VDD端的ESD电压上升速度,Vrc端的为低电位导致反相器工作将输出端Vout电压上拉到高电位。从而Vg端的高电位触发导通了NMOS元件(Mesd)的晶体管,因而ESD电流便经由Mesd而泄放掉。由于晶体管Mesd的栅极导通

DOG_BITE_DOG的博客 2万+

【MySQL】复合查询

本篇文章详细讲述了数据库的复合查询,首先复习了基本查询,然后讲解了多表查询、自连接和子查询。从基本查询开始,介绍了如何根据特定条件筛选数据,如工资、岗位和姓名等。随后,文章深入探讨了多表查询和自连接,展示了如何联合多个表的数据以获取更全面的信息。在子查询部分,详细讲解了单行子查询、多行子查询和多列子查询的使用,以及如何在from子句中使用子查询。最后,文章还介绍了合并查询的方法,用于组合多个查询结果。

是阿建吖! 2171

深入解析路科验证V0实验lab1:SV接口与时钟块实战

本文深入解析了路科验证V0实验Lab1的核心内容,重点阐述了SystemVerilog接口与时钟块在验证环境搭建中的关键作用。通过拆解router_io接口设计、时钟块同步机制及程序块封装,详细讲解了如何构建稳定可靠的验证通信基础,并提供了复位时序分析与常见调试技巧,为后续复杂验证打下坚实基础。

peach的博客 430

别再只会regress了!用Stata的csdid命令搞定多期DID的完整实操指南

本文详细介绍了如何在Stata中使用csdid命令进行多期DID分析,解决传统DID方法在交错处理场景下的局限性。通过完整的实操指南,包括环境搭建、核心语法、结果解读和高阶应用,帮助研究者更准确地评估政策效果,适用于计量经济学和实证研究领域。

weixin_30236595的博客 582

MySql中表的复合查询

​ 本篇开始将介绍在MySql中进行复合查询的操作。平时在开发过程中只对一张表进行查询的操作是远远不够的,更多的都是多张表一起查询,所以本篇将介绍多张表中的复合查询,主要介绍多表查询、自连接以及子查询。

m0_74830524的博客 1701

R语言实战:5分钟搞定NHANES数据库的加权分析与可视化(附完整代码)

本文提供了一份R语言实战指南,帮助研究者在5分钟内完成NHANES数据库的加权分析与可视化。通过详细的代码示例,涵盖数据获取、清洗、加权分析和可视化全流程,特别适合公共卫生和流行病学研究者快速掌握复杂抽样数据的处理方法。

www00的博客 252

MYSQL数据库初阶 之 MYSQL复合查询

MySQL复合查询的多种方法:基本查询回顾、多表查询、自连接和子查询。基本查询部分展示了条件查询、排序、分组和聚合函数的使用;多表查询部分演示了如何通过表连接获取跨表数据;自连接部分展示了同一张表的关联查询;子查询部分详细讲解了单行、多行、多列子查询以及FROM子句中的子查询应用。

lll_666666的博客 1855

分布式 Agent 系统设计:高并发场景下的挑战与解决方案

分布式 Agent 系统由多个分布在不同节点上的智能 Agent 组成,这些 Agent 具有自主决策能力,能够通过通信协作完成复杂任务。每个 Agent 可以看作是一个独立的实体,具备感知环境、处理信息、执行动作的功能,它们相互协作,共同实现系统的整体目标。分布式 Agent 系统在高并发场景下面临着资源调度、通信延迟、状态一致性、容错处理和性能瓶颈等诸多挑战。通过采用动态资源分配、高效通信协议、分布式共识算法、冗余备份等解决方案,可以有效应对这些挑战,提高系统的性能、可靠性和可用性。

shuizhudan223的博客 1291

星载SAR的各项指标解读(史上最全)

一、系统指标 系统指标主要指雷达系统的通用的指标,以及和卫星整星相关的指标,主要有一下几项: 工作频段: 雷达体制: 极化方式: 设计s

9269

【MySQL】 复合查询

通过下面的练习能够评估你的SQL查询的基本功。雇员信息表数据库文件部门编号(deptno),部门名称(dname),部门所在地点(loc)。等级(grade),此等级最低工资(losal),此等级最高工资(hisal)。1.1 查询工资高于500或岗位为MANAGER的员工,同时要求员工姓名的首字母为大写的J 1.2 查询员工信息,按部门号升序而员工工资降序显示1.3 使用年薪进行降序排序 1.4 显示工资最高的员工的名字和工作岗位我们发现这样的SQL是能够满足我们的要求的,但是这样写法有一些散乱,我们其实

一点一点变好 1625

RFSoC全面解析(八)—— ZCU111 RFSoC评估工具的上位机界面

下面的内容的参考文献为:XILINX公司文档UG1287。 XILINX公司提供了一个RFSoC的ADC/DAC性能的评估工具或者叫评估系统,这个文档就是讲如何使用这个评估工具的。 整个评估系统总的框图如上图所示,评估系统由上位机、ZCU111开发板、子卡以及网线、射频线缆组成。 ZCU111开发板内主要使用的RFSoC外设为时钟驱动和DDR4,RFSoC的PS部分和PL部分都使用了。 PS部分发挥的功能为通过网口与上位机通信,通过IIC总线控制时钟驱动芯片以及数据流控制等;PL部分发挥的功能为

4381

【半夜学习MySQL】复合查询(含多表查询、自连接、单行/多行子查询、多列子查询、合并查询等详解)

🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。🎯每天努力一点点,技术变化看得见。

Jammingpro 1136

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

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

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

一文解析MySQL复合查询:多表查询、自连接、子查询、合并查询

本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句

大模型工程师老蓝的博客 1020

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

MySQL复合查询

以下为本文演示多表查询所需的数据库,这个数据库模拟的是一个等多个关键环节,用于电商网站、零售业务管理系统等。

laimaxgg 1620

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MySQL 复合查询全解:多表关联、自连接、子查询与 Union 实战

本文系统讲解MySQL复合查询核心用法,涵盖多表联查、自连接、子查询和合并查询四大模块。通过emp、dept、salgrade三张测试表示例,详解跨表关联原理与实战技巧,包括如何消除笛卡尔积、处理字段歧义等避坑点。重点剖析自连接在查询表内关联数据时的应用,以及单行/多行/多列子查询的多样化实现方式。文章还对比了union与unionall的区别,提供OJ真题练习,并总结复合查询的优化建议,帮助开发者灵活应对复杂业务场景下的数据检索需求。

2501_91275995的博客 297

【MySQL】笛卡尔积和复合查询

本文介绍了MySQL中的复合查询和多表查询,包括基本查询回顾、多表查询、自连接和子查询等高级查询技巧。主要内容涵盖:1)基本查询语法回顾;2)多表联合查询(如员工与部门信息关联);3)自连接查询(同一表内数据关联);4)单行/多行/多列子查询;5)FROM子句中的子查询应用;6)合并查询方法。文章通过具体案例演示了如何实现复杂业务查询需求,适合需要提升MySQL查询技能的学习者参考。

大白的编程日记. 1066

8.MySQL复合查询

复合查询、基本查询回顾、多表查询 - 笛卡尔积、自连接、子查询、单行子查询、多行子查询、多列子查询、在from中使用子查询、合并查询、union、union all、表的内连和外连 内连接、外连接、左外连接、右外连接

感谢观看 820

MySQL:8_复合查询(重点)

前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。

Open__Ai的博客 1126

MySQL——7、复合查询和表的内外连接

本文介绍了SQL查询中的复合查询技术,包括基本查询、多表查询、自连接、子查询和合并查询。基本查询部分涵盖了条件查询、排序、聚合统计等操作,如查询工资高于500或岗位为MANAGER的雇员,并按部门号和工资排序。多表查询部分通过笛卡尔积展示了如何联合查询来自不同表的数据,如显示雇员名、工资及部门名。自连接部分解释了如何在同一张表内进行连接查询,如查询员工的上级领导信息。子查询部分详细介绍了单行、多行、多列子查询的使用场景,如查询与SMITH同部门的员工。最后,合并查询部分介绍了使用UNION和UNION AL

Talon的博客 893

【Mysql】复合查询详解+实战操作(多表查询、自链接、子查询等)

🌈欢迎来到Python专栏🙋🏾‍♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生🌏IP坐标:湖北武汉🍉 目前技术栈:C/C++、Linux系统编程、计算机网络、数据结构、Mysql、Python(目前在学)🍓 最后送大家一句话共勉:知不足而奋进,望远山而前行。愿大家都能早日进大厂实现财富自由~

广西彭于晏的博客 903

MySQL —— 复合查询

MySQL —— 复合查询

M的博客 1412
上一篇: 7.MySQL内置函数|日期函数|字符串函数|数学函数|其他函数
下一篇: 9.MySQL表的内连和外连|内连接|外连接|左外连接|右外连接
ChoSeitaku
博客等级 码龄5年 3452粉丝 557原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值