Oracle表的常用查询实验(一)
Oracle表的常用查询实验(一)
练习1、请查询表DEPT中所有部门的情况。 select * from dept; 练习2、查询表DEPT中的部门号、部门名称两个字段的所有信息。 select deptno,dname from dept; 练习3、请从表EMP中查询10号部门工作的雇员姓名和工资。 select ename,sal from emp where deptno=10; 练习4、请从表EMP中查找工种是职员CLERK或经理MANAGER的雇员姓名、工资。 select ename,sal from emp where job='CLERK' or job='MANAGER'; 练习5、请在EMP表中查找部门号在10-30之间的雇员的姓名、部门号、工资、工作。 select ename,deptno,sal,job from emp where deptno between 10 and 30; 练习6、请从表EMP中查找姓名以J开头所有雇员的姓名、工资、职位。 select ename,sal,job from emp where ename like 'J%'; 练习7、请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列。 select ename,job,sal from emp where sal<=2000 order by sal desc; 练习8、请从表中查询工作是CLERK的所有人的姓名、工资、部门号、部门名称以及部门地址的信息。 select ename,sal,emp.deptno,dname,loc from emp,dept where emp.deptno=dept.deptno and job=’CLERK’; 练习9、查询表EMP中所有的工资大于等于2000的雇员姓名和他的经理的名字。 select a.ename,b.ename from emp a,emp b where a.mgr=b.empno(+) and a.sal>=2000; 练习10、在表EMP中查询所有工资高于JONES的所有雇员姓名、工作和工资。 select ename,job,sal from emp where sal>(select sal from emp where ename=’JONES’); 练习11、列出没有对应部门表信息的所有雇员的姓名、工作以及部门号。 select ename,job,deptno from emp where deptno not in (select deptno from dept); 练习12、查找工资在1000~3000之间的雇员所在部门的所有人员信息 select * from emp where deptno in (select distinct deptno from emp where sal between 1000 and 3000); 练习13、雇员中谁的工资最高。 select ename from emp where sal=(select max(sal) from emp); select ename from (select * from emp order by sal desc) where rownum<=1; 练习14、雇员中谁的工资第二高(考虑并列第一的情况,如何处理)。 select ename from (select ename ,sal from (select * from emp order by sal desc) where rownum<=2 order by sal) where rownum<=1;