经典sql-实验一

  • 格式:doc
  • 大小:24.50 KB
  • 文档页数:2

实验一
练习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 between10and30;
练习6、请从表EMP中查找姓名以J开头所有雇员的姓名、工资、职位。

select ename,sal,job from emp where ename like'J%';
练习7、请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列。

select ename,job,sal from emp where sal<=2000order 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 between1000and3000);
练习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<=2order by sal) where rownum<=1;。