z子查询就是将一个查询(子查询)的结果作为另一个查询(主查询)的数据来源或判断条件的查询。常见的子查询有WHERE子查询,HAVING子查询,FROM子查询,SELECT子查询,EXISTS子查询,子查询要使用小括号();
WHERE子查询
在WHERE子句中进行使用查询
FROM EMP
WHERE SAL < (SELECT AVG(SAL) FROM EMP);
-
查询薪资比平均薪资低的员工信息
HAVING子查询
HAVING子句是对分组统计函数进行过滤的子句,也可以在HAVING子句中使用子查询
FROM EMP
GROUP BY JOB
HAVING AVG(SAL) = (SELECT MAX(AVG(SAL)) FROM EMP GROUP BY JOB);
-
查询平均薪资最高的职位及其平均薪资
FROM子查询
FROM子查询就是将一个查询结构(一般多行多列)作为主查询的数据源
FROM (SELECT JOB,AVG(SAL) AS AVGSAL FROM EMP GROUP BY JOB)TEMP
WHERE TEMP.AVGSAL>2000;
-
查询平均薪资高于2000的职位以及该职位的平均薪资
SELECT子查询
SELECT子查询在SELECT子句中使用查询的结果(一般会和dual空表一起使用)
FROM DUAL;
-
职位是SALESMAN的员工占总员工的比例
EXISIT子查询
将主查询的数据带到子查询中验证,如果成功则返回true,否则发水false。主查询接收true就会显示这条数据,flase就不会显示。
FROM EMP E
WHERE EXISIT (
SELECT *
FROM DEPT D
WHERE E.DEPTNO = D.DEPTNO);
-
查询有部门的员工信息
查询薪资排名的员工信息(面试)
FROM EMP
WHERE SAL = (SELECT MIN(SAL)
FROM (SELECT ROWNUM,SAL
FROM (SELECT SAL FROM EMP GROUP BY SAL ORDER BY SAL DESC)
WHERE ROWNUM<=n));
-
查询薪资排名第n个员工的信息(包括并列排名)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)
-
谢谢楼主的精彩分享! 幸运飞艇开奖直播 双色球稳赚方法 幸运时时彩走势图(0) 回复 (0)