MYSQL学习之多表查询,子查询

多表查询

找出每个员工的部门名称,工资等级
步骤:

  1. 先连接emp表和dept表找出员工的部门名称
  2. 再emp表和salgrade表连接找出员工的薪水等级

在这里插入图片描述
找出每个员工的部门名称,工资等级以及上级领导
步骤:

  1. 先连接emp表和dept表找出员工的部门名称
  2. 再emp表和salgrade表连接,找出员工的薪水等级
  3. 再使用自连接,即一张表看作两张表,找出员工的上级领导,注意该处不是所有的员工都会有上级领导,像KING,他是BOSS,没有上级领导,但他也是一名员工,所以使用左连接,即不管有没有对应的上级领导,员工都应该要全部查询出来

在这里插入图片描述

子查询

子查询:select语句中嵌套select语句,被嵌套的select语句就是子查询。
子查询可以出现在select后面from后面where后面

where子句中使用子查询

找出高于平均薪资的员工信息
步骤:

  1. 找出员工的平均薪资
  2. 找出高于平均薪资的员工

在这里插入图片描述

from后面嵌套子查询

找出每个部门平均薪水的薪资等级
步骤:

  • 1.先找出每个部门的平均薪水

在这里插入图片描述

  • 2.将得到的这张临时表作为一张新表,和salgrade表连接,查出每个部门薪水的等级。from后面跟表,所以将上一步骤的查询语句作为子查询语句,放在from后面,作为一张表使用。

在使用时,注意表的命名和子查询中分组函数的命名
在这里插入图片描述
找出每个部门平均的薪水等级(和上一题不一样哦~)
步骤:

  1. 找出每个员工的薪水等级
  2. 按照部门分组
  3. 求等级的平均值

在这里插入图片描述
在这里插入图片描述

在select后面嵌套子查询

找出每个员工所在的部门名称,要求显示员工名和部门名
在这里插入图片描述
在这里插入图片描述
文章为学习笔记,如有不足还请指正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值