SQL基础试题

更新时间:2023-10-16 02:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ETL工程师笔试题

员工基础表(EMP) 员工编号 员工姓名 EMPNO 7369 7499 7521 7566 7654 7698 7782 7788 7839 7844 7876 7900 7902 7934 ENAME SMITH ALLEN WARD JONES MARTIN BLAKE CLARK SCOTT KING TURNER ADAMS JAMES FORD MILLER 职位 JOB CLERK 上级编号 雇佣日期 MGR 7902 工资 奖金 COMM 部门编号 DEPTNO 20 30 30 20 30 30 10 20 10 30 20 30 20 10 HIREDATE SAL 1980/12/17 800.00 1981/2/20 1981/2/22 1981/4/2 1981/9/28 1981/5/1 1981/6/9 1987/4/19 SALESMAN 7698 SALESMAN 7698 MANAGER 7839 1600.00 300.00 1250.00 500.00 2975.00 1250.00 1400.00 2850.00 2450.00 3000.00 SALESMAN 7698 MANAGER MANAGER ANALYST PRESIDENT SALESMAN 7698 CLERK CLERK ANALYST CLERK 7788 7698 7566 7782 7839 7839 7566 1981/11/17 5000.00 1981/9/8 1987/5/23 1981/12/3 1981/12/3 1982/1/23 1500.00 0.00 1100.00 950.00 3000.00 1300.00 部门表(DEPT) 部门编号 部门名称 DEPTNO DNAME 10 20 30 40 ACCOUNTING RESEARCH SALES OPERATIONS 地点 LOC NEW YORK DALLAS CHICAGO BOSTON 1, 用SQL查询出职位为SALESMAN的员工姓名、部门名称、雇佣日期、工资。

2, 用SQL语句查询出职位为MANAGER的员工姓名、下属员工姓名、下属员工的雇佣日期及工资。

3, 用SQL查询出每个部门的部门名称、最高工资、最低工资、平均工资和工资总和。

4, 用SQL查询出所有工资高于平均工资的员工姓名及工资。

5, 用SQL查询出工资最高的前五位的员工姓名、工资及工资排名。

6, 用SQL语句给任职日期超过30年的人加薪50%

1,

select ENAME,DNAME,HIREDATE,SAL from EMP,DEPT

where EMP.JOB='SALESMAN'and EMP.DEPTNO=DEPT.DEPTNO 2,

select A.ENAME, B.ENAME, B.HIREDATE, B.SAL

from EMP A,EMP B WHERE A.EMPNO=B.MGR AND A.JOB='MANAGER' 3,

select DEPT.DNAME, max(EMP.SAL), min(EMP.SAL), avg(EMP.SAL), sum(EMP.SAL) from DEPT

leftjoinemponemp.deptno=dept.deptno GROUPBY DEPT.DNAME

4,

select a.ename, a.sal from emp a

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

5,

SELECT E.ENAME, E.SAL,ROWNUM FROM (SELECT * FROM EMP

ORDER BY SAL DESC) E WHERE ROWNUM<6 分页:

SELECT * FROM (select ename,sal,rownum RN from (select * from emp order by sal desc) where rownum <6) T WHERE RN>3; 6,

Update EMP

SetEMP.sal=emp.sal*1.5

where months_between (sysdate,HIREDATE)/12>30 或WHERE 2015-EXTRACT(YEAR FROM HIREDATE)>30

本文来源:https://www.bwwdw.com/article/04df.html

Top