AI智能
改变未来

MySQL子查询

MySQL作业题

-- 单行子查询(> < >= <= = <>)-- 查询出高于10号部门的平均工资的员工信息SELECT * FROM emp WHERE sal >(SELECT AVG(sal) FROM emp WHERE deptno=10 );-- 多行子查询(in  not in any all)-- 查询出比10号部门任何员工薪资高的员工信息SELECT * FROM emp WHERE sal > ANY(SELECT sal FROM emp WHERE deptno=10) AND deptno!=10;-- 多列子查询(实际使用较少)-- 和10号部门同名同工作的员工信息SELECT * FROM emp WHERE (ename,job)IN(SELECT ename,job FROM emp WHERE deptno=10) AND deptno!=10;-- select 后面接子查询-- 获取员工的名字和部门的名字SELECT p.ename,d.dname FROM emp p,dept d WHERE p.deptno=d.deptno;-- from 后面接子查询-- 查询emp表中经理信息SELECT * FROM emp e,(SELECT DISTINCT mgr FROM emp) AS jingli WHERE e.empno=jingli.mgr;-- where 后面接子查询-- 薪资高于10号部门平均工资的所有员工信息SELECT * FROM emp WHERE sal>(SELECT AVG(sal) FROM emp WHERE deptno=10);-- group by 后面接子查询-- 有哪些部门的平均工资高于30号部门的平均工资SELECT deptno, AVG(sal) AS bumen FROM emp GROUP BY deptno HAVING bumen > (SELECT AVG(sal) FROM emp WHERE deptno=30);-- 工资>JONES工资SELECT * FROM emp WHERE sal>(SELECT sal FROM emp WHERE ename=\'JONES\');
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » MySQL子查询