mysql查询语句实例

– SELECT e.ENAME,d.DNAME from emp as e,dept as d

– SELECT e.ENAME,d.DNAME,s.GRADE,e1.ENAME FROM emp as e JOIN dept as d on

e.DEPTNO=d.DEPTNO JOIN salgrade as s on e.SAL BETWEEN s.LOSAL and s.HISAL LEFT JOIN emp e1

on e.MGR=e1.EMPNO

– 取得每个部门最高薪水的人员名称

SELECT e.ename,t.*
from emp e JOIN (SELECT deptno,MAX(sal) as maxsal FROM emp GROUP BY deptno) t
on t.deptno = e.DEPTNO and t.maxsal=e.SAL

– 哪些人的薪水在部门的平均薪水之上
– SELECT deptno,AVG(sal) as avgsal FROM emp GROUP BY deptno

SELECT e.ENAME,e.SAL,t.* FROM
emp as e JOIN
(SELECT deptno,AVG(sal) as avgsal FROM emp GROUP BY deptno) t
ON e.DEPTNO = t.deptno and e.sal > t.avgsal

– 取得部门中(所有人的)平均的薪水等级

SELECT e.DEPTNO,AVG(s.GRADE) from emp as e JOIN
salgrade as s on e.SAL BETWEEN s.LOSAL AND s.HISAL GROUP BY e.DEPTNO

– 取得平均薪水最高的部门的部门编号

方案一;
– SELECT e.DEPTNO,AVG(e.SAL) as avgsal from emp as e GROUP BY e.DEPTNO ORDER BY avgsal

desc LIMIT 1

方案二:
SELECT MAX(t.avgsal) FROM (SELECT e.DEPTNO,AVG(e.SAL) as avgsal from emp as e GROUP BY

e.DEPTNO) t

– 取得平均薪水最高的部门的部门名称

SELECT d.DNAME,e.DEPTNO,AVG(e.SAL) as avgsal
from emp as e
JOIN dept d ON e.DEPTNO=d.DEPTNO
GROUP BY e.DEPTNO ORDER BY avgsal
desc LIMIT 1

– 求平均薪水的等级最低的部门的部门名称
SELECT
t.*,s.grade
FROM
(SELECT d.DNAME,AVG(sal) as avgsal from emp e JOIN dept d ON e.DEPTNO=d.DEPTNO GROUP BY e.DEPTNO) t
JOIN
salgrade s
ON t.avgsal BETWEEN s.LOSAL AND s.HISAL WHERE s.GRADE=(SELECT grade FROM salgrade WHERE ((select avg(sal) as avgsal from emp GROUP BY deptno ORDER BY avgsal asc limit 1) BETWEEN losal and hisal)
)

– 列出所有“CLERK”的姓名和部门名称,部门人数

SELECT t1.,t2.department
FROM (SELECT e.ename,e.job,d.dname,d.deptno from emp e join dept d on e.deptno=d.deptno where e.job=‘CLERK’) t1
JOIN (SELECT deptno,COUNT(
) as department FROM emp GROUP BY deptno) t2
ON t1.deptno=t2.deptno

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值