oracle题目2 下载本文

内容发布更新时间 : 2024/5/16 4:01:51星期一 下面是文章的全部内容请认真阅读。

1、将员工的名字按首字母排序,并列出姓名的长度

select ename,length(ename)from scott.emp order by ename

2、做查询显示下面形式的结果

earns monthly but wants 例如: Dream Salary

------------------------------------------------------------ King earns $5000 monthly but wants $15000

select initcap(ename) upp ||' earns$'||sal||'monthly but wants$'||3*sal as initcap(Dream Salary) from scott.emp

3、使用decode函数,按照下面的条件: JOB

GRADE

PRESIDENT A MANAGER B ANALYST C SALESMAN D CLERK E

产生类似下面形式的结果 ENAME SMITH

select ename,job, decode(

job,'PRESIDENT','A', 'MANAGER','B', 'ANALYST','C', 'SALESMAN','D', 'CLERK','E' )grade from scott.emp

JOB CLERK

GRADE

E

-----------------------------------

4、查询各员工的姓名ename,幵显示出各员工在公司工作的月份数(即:与当前日期比较,该员工已经工 作了 几个月, 用整数表示)。

select ename,trunc(months_between (sysdate,hiredate))as workmonth from scott.emp

5、显示所有员工的姓名ename,部门号deptno和部门名称dname。

select emp.ename,emp.deptno,dept.dname from emp,dept

where emp.deptno=dept.deptno

6、选择在DALLAS工作的员工的员工姓名、职位、部门编码、部门名字 select ename,job,emp.deptno,dname from emp,dept

where emp.deptno=dept.deptno and dept.loc='DALLAS'

EMP表结构:员工编号、员工姓名、职位、上司、入职时间、工资、奖金、部门编号 DEPT 部门表:部门编号、部门名称、部门所在位置(Location) BOUNS 奖金表:姓名、职务、工资、奖金 dept;

DEPTNO DNAME LOC ------- -------------- -----------

10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON bouns

EMPNO ENAME JOB SAL COMM ------- ---------- --------- ---------- ----------

7369 SMITH CLERK 800

7499 ALLEN SALESMAN 1600 300 7521 WARD SALESMAN 1250 500 7566 JONES MANAGER 2975

7654 MARTIN SALESMAN 1250 1400 7698 BLAKE MANAGER 2850 7782 CLARK MANAGER 2450 7788 SCOTT ANALYST 3000 7839 KING PRESIDENT 5000

7844 TURNER SALESMAN 1500 0 7876 ADAMS CLERK 1100 7900 JAMES CLERK 950 7902 FORD ANALYST 3000 7934 MILLER CLERK 1300

7、查询出JONES的领导是谁(JONES向谁报告)。 select ename from emp where empno in( select mgr from emp where ename='JONES' )

8、JONES领导谁。(谁向JONES报告)。

9. 查询所有部门的部门名字dname,所在位置location,员工数量和工资平均值;(提示:行内视图) select distinct count(emp.ename),dept.dname,dept.loc,avg(sal) from emp join dept on emp.deptno=dept.deptno group by dept.dname,dept.loc

10. 查询和scott相同部门的员工姓名ename和雇用日期hiredate select ename,hiredate from emp where deptno in(

select deptno from emp where ename='SCOTT' )

11 查询工资比公司平均工资高的所有员工的员工号empno,姓名ename和工资sal。 select empno,ename,sal from emp

where sal >( select avg(emp.sal)from emp)

12 查询和姓名中包含字母u的员工在相同部门的员工的员工号empno和姓名ename select empno,ename from emp where instr(ename,'U')>0

13. 查询在部门的location为newYork的部门工作的员工的员工姓名ename,部门名称dname和岗 位名称job

14. 查询管理者是king的员工姓名ename和工资sal 15. 显示Operations部门有哪些职位 16. 各个部门中工资大于5000的员工人数

17. 哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资,降序排列 18. 所在部门平均工资高于5000的员工名字

19. 列出各个部门中工资最高的员工的信息:名字、部门号、工资 20. 哪个部门的平均工资是最高的,列出部门号、平均工资