登录
首页 >  数据库 >  MySQL

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

来源:脚本之家

时间:2022-12-29 13:59:27 453浏览 收藏

怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《MySql数据库基础之子查询详解》,涉及到mysql子查询,有需要的可以收藏一下

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的资料请关注golang学习网公众号!

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表