实验6 子查询
实验步骤
(1)编写一查询,显示姓名中含有字符T的雇员所在的部门内的所有雇员的编号和姓名,并将该查询保存成文件p6q1.sql。
SELECT empno, ename FROM emp
WHERE deptno IN (SELECT deptno FROM emp WHERE ename LIKE '%T%');
(2)修改文件p6q1.sql,显示工资高于平均工资水平并且与姓名中含有T的雇员在同一部门工作的雇员的编号、姓名及工资,将修改后的结果另存为p6q2.sql,并返回查询结果。
SELECT empno, ename, sal FROM emp
WHERE deptno IN (SELECT deptno FROM emp WHERE ename LIKE '%T%')
AND sal>(SELECT A VG(sal) FROM emp);
(3)创建一查询,显示能获得比所有从事CLERK工作的雇员的个人工资更高的其他雇员的姓名、工作及工资,输出按工资降序排列,并将该查询保存成文件p6q3.sql。
SELECT ename, job, sal FROM emp
WHERE sal> ALL(SELECT sal FROM emp where job='CLERK')
ORDER BY sal DESC;
思考练习题
1.编写一查询,显示与Blake在同一部门工作的雇员的姓名和受雇日期,但是Blake 不包含在结果内。
SELECT ename, hiredate FROM emp
WHERE deptno=(SELECT deptno FROM emp WHERE ename='BLAKE')
AND ename !='BLAKE';
2.创建一查询,显示工资大于平均工资水平的雇员的编号及姓名,输出结果按工资降序排列。
SELECT empno, ename FROM emp
WHERE sal>( SELECT A VG(sal) FROM emp) ORDER BY sal DESC;
3.显示位置在Dallas的部门内的雇员的姓名、编号及工作。
SELECT ename, empno, job FROM emp
WHERE deptno=(SELECT deptno FROM dept WHERE loc='DALLAS');