目录
  • 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后面出现的子查询

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

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

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

您可能感兴趣的文章:

  • MySQL子查询的使用详解上篇
  • MySQL子查询的使用详解下篇
  • 一文带你了解MySQL中的子查询
  • 一文了解MySQL的四大子查询
  • MySQL子查询的空值问题解决
  • 关于Mysql子查询的三个应用场景
  • MySQL多表联合查询、连接查询、子查询的实现
  • MySQL复合查询(多表查询、子查询)的实现
  • 全面讲解MySQL子查询