一.實驗目的
掌握Oracle中的數據查詢與操作語句的編寫
二.實驗內容
根據scott模式下的emp和dept表,完成以下操作。
查詢10號部門的所有員工信息。
查詢工種爲clerk的員工的員工號,員工名和部門號。
查詢員工的姓名和入職日期,按入職日期先後排序。
查詢至少有兩個員工的部門信息。
查詢15號部門中工資排名前8的員工信息。
查詢部門人數大於10的部門的員工信息。
向emp表中插入一條記錄,員工名爲fan,員工號爲8000,其他信息與smith員工的信息相同。
三.實驗過程
1.查詢10號部門的所有員工信息。
SELECT * from emp where deptno = 10;
2.查詢工種爲clerk的員工的員工號,員工名和部門號。
Select EMPNO,ENAME, DEPTNO from emp where job = ‘CLERK’;
3.查詢員工的姓名和入職日期,按入職日期先後排序。
Select ENAME,HIREDATE from emp order by HIREDATE asc;
4.查詢至少有兩個員工的部門信息。
Select * from emp where deptno in(select deptno from emp group by deptno having count(deptno)>=2);
5.查詢15號部門中工資排名前8的員工信息。(這裏沒有第15行)
select * from (select row_number() over(partition by deptno order by [sal](https://www.baidu.com/s?wd=sal&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao) desc) rk,[emp](https://www.baidu.com/s?wd=emp&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao).* from [emp](https://www.baidu.com/s?wd=emp&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao)) where rk <= 8 and deptno =10;
6.查詢部門人數大於10的部門的員工信息。(我的emp表沒有大於10的人)
Select EMPNO,ENAME, DEPTNO from emp where deptno in(select deptno from emp group by deptno having count(deptno)>=2)order by DEPTNO asc ;
7.向emp表中插入一條記錄,員工名爲fan,員工號爲8000,其他信息與smith員工的信息相同。
Insert into emp select 8000,'fan',job,mgr,hiredate,sal,comm,deptno from emp where ename = 'SMITH';