Mysql——子查询

子查询

Where子查询 单行单列 多行单列

Form子查询 多行多列

查询比SMITH工资高的人

select * from emp where sal > (select sal from emp where ename = 'SMITH');

查询比平均工资高的人

select * from emp where sal > (select avg(sal) from emp);

查询和经理工资相同的员工信息

select * from emp where sal in (select sal from emp where job = 'MANAGER');

查询部门编号,部门位置,部门人数,部门平均工资

第一步:查询每个部门的编号,名称,位置

Dept d

第二步:统计部门人数,平均工资

emp e

e.deptno deptno, count(e.empno) num,avg(e.sal) sal

Group by e.deptno

select e.deptno deptno, count(e.empno) num,avg(e.sal) sal from emp e Group by e.deptno;

将查到的数据和dept组合

select temp.deptno,temp.num,temp.sal,d.dname,d.loc from (select e.deptno deptno, count(e.empno) num,avg(e.sal) sal from emp e Group by e.deptno) temp,dept d where temp.deptno = d.deptno;

通过右连接处理边界数据

select d.deptno,IFNULL(temp.num,0) 部门人数 ,IFNULL(temp.sal,0) 平均工资 ,d.dname,d.loc from (select e.deptno deptno, count(e.empno) num,avg(e.sal) sal from emp e Group by e.deptno) temp right join dept d on temp.deptno = d.deptno;

相关推荐
邂逅you25 分钟前
用python操作mysql之pymysql库基本操作
数据库·python·mysql
心 一29 分钟前
接口安全测试实战:从数据库错误泄露看如何构建安全防线
数据库·安全
点灯小铭38 分钟前
基于单片机的PID调节脉动真空灭菌器上位机远程监控设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计
合作小小程序员小小店38 分钟前
web开发,学院培养计划系统,基于Python,FlaskWeb,Mysql数据库
后端·python·mysql·django·web app
小高Baby@1 小时前
Redis Key的设计
数据库·redis·缓存
白鲸开源1 小时前
最佳实践:基于Apache SeaTunnel从MySQL同步到PostgreSQL
大数据·mysql·postgresql
灰灰老师1 小时前
在Ubuntu22.04和24.04中安装Docker并安装和配置Java、Mysql、Tomcat
java·mysql·docker·tomcat
q_19132846952 小时前
基于RuoYi框架+Mysql的汽车进销存后台管理系统
数据库·vue.js·spring boot·mysql·汽车·个人开发·若依
wuyunhang1234562 小时前
MySQL----锁
数据库·mysql
悟能不能悟2 小时前
springboot在DTO使用service,怎么写
java·数据库·spring boot