MySql数据库基础之子查询详解

2023年 4月 15日 75.1k 0

目录 1. 什么是子查询 2. 子查询可以出现在哪里 3. where子句的子查询 4. from子句的子查询 5. select后面出现的子查询 1. 什么是子查询 select 语句中嵌套 select 语句,被嵌套的 select 语句称为

目录1. 什么是子查询2. 子查询可以出现在哪里3. where子句的子查询4. from子句的子查询5. select后面出现的子查询

1. 什么是子查询

select 语句中嵌套 select 语句,被嵌套的 select 语句称为子查询。

2. 子查询可以出现在哪里

select    ...(select)from    ...(select)where    ...(select)

3. where子句的子查询

找出比最低工资高的员工姓名和工资?

第一步查询最低工资是多少

select min(sal) from emp = 800

第二步找出>800的

select ename, sal from emp where sal > 800

第三步合并

select ename, sal from emp where sal > (select min(sal) from emp)

mysql> select ename, sal from emp where sal > (select min(sal) from emp);

4. from子句的子查询

from 后面的子查询,可以将子查询的查询结果当做一张临时表。

找出每个岗位的平均工资的薪资等级?

第一步:找出每个岗位的平均工资(按照岗位分组求平均值)

select job, avg(sal) from emp group by job

第二步:将以上的查询结果当做一张真实存在的表,将该表与 salgrade 进行连接

t.avgsal between s.losal and s.hisal

![mysql> select t.*, s.grade from (select job, avg(sal) as avgsal from emp group by job) t join salgrade s on t.avgsal between s.losal and s.hisal;]

5. select后面出现的子查询

找出每个员工的部门名称,要求显示员工名,部门名?

mysql> select e.ename, (select d.dname from dept d where e.deptno = d.deptno) as dname from emp e;!```![在这里插入图片描述](https://img-blog.csdnimg.cn/8b09cbc61ed047fe8c3cf087b3836006.png)

> 对于 select 后面的子查询 select,**只能返回一条记录**

到此这篇关于MySql数据库基础之子查询详解的文章就介绍到这了,更多相关MySql子查询内容请搜索每日运维以前的文章或继续浏览下面的相关文章希望大家以后多多支持每日运维!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论