根據(jù)Oracle數(shù)據(jù)庫scott模式下的emp表和dept表_第1頁
根據(jù)Oracle數(shù)據(jù)庫scott模式下的emp表和dept表_第2頁
根據(jù)Oracle數(shù)據(jù)庫scott模式下的emp表和dept表_第3頁
根據(jù)Oracle數(shù)據(jù)庫scott模式下的emp表和dept表_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、題目要求:根據(jù)Oracle數(shù)據(jù)庫scott模式下的emp表和dept表,完成下列操作。(1) 查詢20號部門的所有員工信息。select * from emp where deptno = 20;(2) 查詢所有工種為CLERK的員工的工號、員工名和部門名。select empno,ename,deptno from emp where job like CLERK;(3) 查詢獎金(COMM)高于工資(SAL)的員工信息。select * from emp where comm sal;(4) 查詢獎金高于工資的20%的員工信息。select * from emp where comm (s

2、al*0.2);(5) 查詢10號部門中工種為MANAGER和20號部門中工種為CLERK的員工的信息。select * from emp where (deptno = 10 and job like MANAGER) or (deptno = 20 and job like CLERK);(6) 查詢所有工種不是MANAGER和CLERK,且工資大于或等于2000的員工的詳細(xì)信息。select * from emp where job not in (MANAGER,CLERK) and sal = 2000 ;(7) 查詢有獎金的員工的不同工種。select distinct job f

3、rom emp where comm is not null;(8) 查詢所有員工工資和獎金的和。select ename,(sal+nvl(comm,0) salcomm from emp;(9) 查詢沒有獎金或獎金低于100的員工信息。select * from emp where (comm is null or comm = 10 ;(12) 查詢員工信息,要求以首字母大寫的方式顯示所有員工的姓名。select upper(substr(ename,1,1) | lower(substr(ename,2,length(ename)-1) from emp;(13) 查詢員工名正好為6個

4、字符的員工的信息。select * from emp where length(ename)= 6 ;(14) 查詢員工名字中不包含字母“S”員工。select * from emp where ename not in (select ename from emp where ename like %S%) ;select * from emp where ename not like %S%;(15) 查詢員工姓名的第2個字母為“M”的員工信息。select * from emp where ename like _M%;(16) 查詢所有員工姓名的前3個字符。select substr(

5、ename,1,3) from emp ;(17) 查詢所有員工的姓名,如果包含字母“s”,則用“S”替換。select replace(ename,s,S) from emp ;(18) 查詢員工的姓名和入職日期,并按入職日期從先到后進(jìn)行排列。select ename,hiredate from emp order by hiredate asc ;(19) 顯示所有的姓名、工種、工資和獎金,按工種降序排列,若工種相同則按工資升序排列。select ename,job,sal,comm from emp order by job desc,sal asc ;(20) 顯示所有員工的姓名、入職

6、的年份和月份,若入職日期所在的月份排序,若月份相同則按入職的年份排序。select ename,to_char(hiredate,yyyy)|-|to_char(hiredate,mm) from emp order by to_char(hiredate,mm),to_char(hiredate,yyyy);(21) 查詢在2月份入職的所有員工信息。select * from emp where to_char(hiredate,mm) = 2 ;(22) 查詢所有員工入職以來的工作期限,用“*年*月*日”的形式表示。select ename,floor(sysdate-hiredate)/

7、365)|年|floor(mod(sysdate-hiredate),365)/30)|月|cell(mod(mod(sysdate-hiredate),365),30)|天 from emp ;(23) 查詢至少有一個員工的部門信息。select * from dept where deptno in (select distinct deptno from emp where mgr is not null) ;(24) 查詢工資比SMITH員工工資高的所有員工信息。select * from emp where sal (select sal from emp where ename l

8、ike SMITH) ;(25) 查詢所有員工的姓名及其直接上級的姓名。select staname,ename supname from (select ename staname,mgr from emp) t join emp on t.mgr=emp.empno ;(26) 查詢?nèi)肼毴掌谠缬谄渲苯由霞夘I(lǐng)導(dǎo)的所有員工信息。select * from emp where empno in (select staempno from (select empno staempno,hiredate stahiredate,mgr from emp) t join emp on t.mgr=em

9、p.empno and stahiredate 2500 ;(31) 查詢最低工資低于2000的部門及其員工信息。select * from emp where deptno in (select deptno from (select min(sal) min_sal,deptno from emp group by deptno) where min_sal (select avg(sal) from emp) ;(34) 查詢與SMITH員工從事相同工作的所有員工信息。select * from emp where job in (select job from emp where en

10、ame like SMITH) and ename not like SMITH ;(35) 列出工資等于30號部門中某個員工工資的所有員工的姓名和工資。select ename,sal from emp where sal =any (select sal from emp where deptno = 30) ;(36) 查詢工資高于30號部門中工作的所有員工的工資的員工姓名和工資。select ename,sal from emp where sal all (select sal from emp where deptno = 30) ;(37) 查詢每個部門中的員工數(shù)量、平均工資和平

11、均工作年限。select dname,count,avg_sal,avg_date from dept join (select count(*) count,avg(sal) avg_sal,avg(sysdate-hiredate)/365) avg_date,deptno from emp group by deptno) t on dept.deptno = t.deptno ;(38) 查詢從事同一種工作但不屬于同一部門的員工信息。select distinct t1.empno,t1.ename,t1.deptno from emp t1 join emp t2 on t1.job

12、 like t2.job and t1.deptno t2.deptno ;(39) 查詢各個部門的詳細(xì)信息以及部門人數(shù)、部門平均工資。Select dept.*,person_num,avg_sal from dept,(select count(*) person_num,avg(sal) avg_sal,deptno from emp group by deptno) t where dept.deptno = t.deptno ;(40) 查詢各種工作的最低工資。select job,min(sal) from emp group by job ;(41) 查詢各個部門中的不同工種的最

13、高工資。select max(sal),job,deptno from emp group by deptno,job order by deptno,job ;(42) 查詢10號部門員工以及領(lǐng)導(dǎo)的信息。select * from emp where empno in (select mgr from emp where deptno=10) or deptno = 10 ;(43) 查詢各個部門的人數(shù)及平均工資。select deptno,count(*),avg(sal) from emp group by deptno ;(44) 查詢工資為某個部門平均工資的員工信息。select *

14、 from emp where sal in (select avg(sal) avg_sal from emp group by deptno) ;(45) 查詢工資高于本部門平均工資的員工的信息。select emp.* from emp join (select deptno,avg(sal) avg_sal from emp group by deptno) t on emp.deptno=t.deptno and salavg_sal ;(46) 查詢工資高于本部門平均工資的員工的信息及其部門的平均工資。select emp.*,avg_sal from emp join (sele

15、ct deptno,avg(sal) avg_sal from emp group by deptno) t on emp.deptno=t.deptno and salavg_sal ;(47) 查詢工資高于20號部門某個員工工資的員工的信息。select * from emp where sal any(select sal from emp where deptno=20);(48) 統(tǒng)計各個工種的人數(shù)與平均工資。select job,count(*),avg(sal) from emp group by job ;(49) 統(tǒng)計每個部門中各個工種的人數(shù)與平均工資。select dept

16、no,job,count(*),avg(sal) from emp group by deptno,job order by deptno,job;(50) 查詢工資、獎金與10 號部門某個員工工資、獎金都相同的員工的信息。select emp.* from emp join (select sal,comm from emp where deptno = 10) t on emp.sal=t.sal and nvl(m,0)=nvl(m,0) and emp.deptno != 10;(51) 查詢部門人數(shù)大于5的部門的員工的信息。select * from emp

17、where deptno in (select deptno from emp group by deptno having count(*)5);(52) 查詢所有員工工資都大于1000的部門的信息。select * from dept where deptno in (select distinct deptno from emp where deptno not in (select distinct deptno from emp where sal 1000) ;(53) 查詢所有員工工資都大于1000的部門的信息及其員工信息。select * from emp join dept

18、on dept.deptno in (select distinct deptno from emp where deptno not in (select distinct deptno from emp where sal 1000) and dept.deptno=emp.deptno;(54) 查詢所有員工工資都在9003000之間的部門的信息。select * from dept where deptno in (select distinct deptno from emp where deptno not in (select distinct deptno from emp w

19、here sal not between 900 and 3000) ;(55) 查詢所有工資都在9003000之間的員工所在部門的員工信息。select * from emp where deptno in (select distinct deptno from emp where deptno not in (select distinct deptno from emp where sal not between 900 and 3000) ;(56) 查詢每個員工的領(lǐng)導(dǎo)所在部門的信息。select * from (select e1.empno,e1.ename,e1.mgr mno

20、,e2.ename mname,e2.deptno from emp e1 join emp e2 on e1.mgr=e2.empno) t join dept on t.deptno=dept.deptno ;(57) 查詢?nèi)藬?shù)最多的部門信息。select * from dept where deptno in (select deptno from (select count(*) count,deptno from emp group by deptno) where count in (select max(count) from (select count(*) count,dep

21、tno from emp group by deptno);(58) 查詢30號部門中工資排序前3名的員工信息。select * from emp where empno in (select empno from (select empno,sal from emp where deptno=30 order by sal desc) where rownum 4) ;(59) 查詢所有員工中工資排在510名之間的員工信息。select * from emp where empno in (select empno from (select empno,rownum num from (select empno,sal from emp order by sal

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論