史上最全Oracle數(shù)據(jù)庫基本操作練習題(含答案)_第1頁
史上最全Oracle數(shù)據(jù)庫基本操作練習題(含答案)_第2頁
史上最全Oracle數(shù)據(jù)庫基本操作練習題(含答案)_第3頁
史上最全Oracle數(shù)據(jù)庫基本操作練習題(含答案)_第4頁
史上最全Oracle數(shù)據(jù)庫基本操作練習題(含答案)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

10史上最全Oracle數(shù)據(jù)庫基本操作練習題(含答案)Oracle基本操作練習題使用表:員工表(emp):(empnoNUMBER⑷notnull,--員工編號,表示唯一enameVARCHAR2(10),-一員工姓名jobVARCHAR2(9),--員工工作職位mgrNUMBER(4),--員工上級領(lǐng)導編號hiredateDATE,―員工入職日期salNUMBER(7,2),--員工薪水commNUMBER(7,2),一員工獎金deptnoNUMBER⑵一員工部門編號)部門表(dept):(deptnoNUMBER(2)notnull,--部門編號dnameVARCHAR2(14),--部門名稱locVARCHAR2(13)—部門地址)說明:增刪改較簡單,這些練習都是針對數(shù)據(jù)查詢,查詢主要用到函數(shù)、運算符、模糊查詢、排序、分組、多變關(guān)聯(lián)、子查詢、分頁查詢等。建表腳本(根據(jù)需要使用):建表腳本.txt練習題:找出獎金高于薪水60%的員工信息。SELECT*FROMempWHEREcomm>sal*0?6;找出部門10中所有經(jīng)理(MANAGER)和部門20中所有辦事員(CLERK)的詳細資料。SELECT*FROMempWHERE(JOB二'MANAGER'ANDDEPTN0=10)OR(JOB二'CLERK'ANDDEPTNO=20);統(tǒng)計各部門的薪水總和。SELECTdeptno,SUM(sal)FROMempGROUPBYdeptno;找出部門10中所有理(MANAGER),部門20中所有辦事員(CLERK)以及既不是經(jīng)理又不是辦事員但其薪水大于或等2000的所有員工的詳細資料。SELECT*FROMempWHERE(JOB二'MANAGER'ANDDEPTNO=10)OR(JOB二'CLERK'ANDDEPTNO=20)OR(JOBNOTIN('MANAGER','CLERK')ANDSAL>2000);列出各種工作的最低工資。SELECTJOB,MIN(sal)FROMempGROUPBYJOB;6?列出各個部門的MANAGER(經(jīng)理)的最低薪水。SELECTdeptno,MIN(sal)FROMempWHEREjob二'MANAGER'GROUPBYdeptno;找出收取獎金的員工的不同工作。SELECTDISTINCT(JOB)FROMEMPWHERECOMMISNOTNULL;找出不收取獎金或收取的獎金低于300的員工。SELECT*FROMEMPWHERECOMMISNULLORCOMM>300;找出各月最后一天受雇的所有員工。SELECT*FROMEMPWHEREHIREDATE二LAST_DAY(HIREDATE);顯示所有員工的姓名,首字母大寫。selectinitcap(ename)fromemp;顯示正好為5個字符的員工的姓名。selectenamefromempwherelength(ename)=5;12?顯示不帶有“R”的員工姓名。selectenamefromempwhereenamenotlike'%R%';顯示所有員工的姓名的前三個字符。selectsubstr(ename,0,3)fromemp;顯所有員工的姓名,用a替換所有姓名中的A。selectreplace(ename,'A','a')fromemp;顯示所有員工的姓名以及工作10年后的日期。selectename,ADD_M0NTHS(hiredate,10*12)fromemp;16?顯示員工的詳細資料,按姓名排序。select*fromemporderbyename;17.列出從事同一種工作但屬于不同部門的員工的不同組合。selectdistinct(t1?ename),t1?job,t1?deptnofromempt1,(selectjob,deptnofromemp)t2wheret1?job=t2?jobandt1?deptno!=t2?deptno;18?顯示員工姓名,根據(jù)其服務(wù)年限,將最老的員工排在最前面。selectenamefromemporderbyhiredate;列出按年薪排序的所有員工的年薪。select(sal+nvl(comm,0))*12as年薪fromemporderbysal;列出最低薪水大于1500的各種工作。selectjobfromempgroupbyjobhavingmin(sal)>1500;21?顯示所有員工的姓名和加入公司的年份和月份,將員工入職年月從低到高排序。Selectename,to_char(hiredate,'yyyy')asyear,to_char(hiredate,'mm')asmonthsfromemporderbymonths;22?顯示在一個月為30天的情況下所有員工的日薪水,取整。selecttrunc((nvl(comm,0)+sal)/30,0)as日薪fromemp;解釋:nvl(comm,0)如果是null則轉(zhuǎn)換為0,如果不是null,這保持原值。23?找出在(任何年份的)2月受聘的所有員工。select*fromempwhereto_char(hiredate,'mm')=2;24?對于每個員工,顯示其加入公司的天數(shù)。select(sysdate-hiredate)as天數(shù)fromemp;25?列出有員工的部門,同時列出那些沒有員工的部門。26.列出至少有一個員工的所有部門。selectdeptnofromempgroupbydeptnohavingcount(empno)>l;27?列出所有員工的員工姓名、部門名稱和薪水。selectename,deptno,salfromemp;28?列出薪水比“SMITH”多的所有員工。selectename,salfromempwheresal>(selectsalfromempwhereename二'SMITH');列出所有員工的姓名及其直接上級的姓名。selecttl.empno,tl?ename,tl?mgr,t2?enamefromemptlleftjoinempt2ontl.mgr=t2?empno;列出受雇日期早于其直接上級的所有員工。selecttl.empnoas員工編號,tl.enameas職員,tl.mgras經(jīng)理編號,t2.enameas經(jīng)理,tl.hiredateas職員入職時間,t2?hiredateas經(jīng)理入職時間fromemptlleftjoinempt2ontl.mgr=t2.empnowheret2.hiredate>tl.hiredate;列出部門名稱和這些部門的員工信息,同時列出沒有員工的部門。selecte.*,d.deptno,d.dnamefromdeptdleftjoinempeone.deptno=d.deptno;32?列出所有“CLERK”(辦事員)的姓名及其部門名稱。selecte.ename,d.dnamefromempe,deptdwhered?deptno=e?deptnoande.job二'CLERK';33?列出在部門“SALES”(銷售部)工作的員工的姓名,假定不知道銷售部的部門編號。selectenamefromempwheredeptno=(selectdeptnofromdeptwheredname二'SALES');34.列出薪水高于公司平均薪水的所有員工。selectename,salfromempwheresal>(selectavg(sal)fromemp);35?列出與“SCOTT”從事相同工作的所有員工。selectename,jobfromempwherejob=(selectjobfromempwhereename二'SCOTT');36.列出薪水等于部門30中員工的薪水的所有員工的姓名和薪水。(個人理解為查詢其它部門薪水剛好等于部門30中任何一個員工的薪水)selectename,salfromempwheresalin(selectsalfromempwheredeptno=30)anddeptno!=30;37?列出薪水高于在部門30工作的所有員工的薪水的員工姓名和薪水。selectsal,enamefromempwheresal>(selectmax(sal)fromempwheredeptno=30);列出在每個部門工作的員工數(shù)量、平均工資和平均服務(wù)期限。selectcount(deptno)as部門員工數(shù)量,avg(sal)as平均工資,avg(sysdate-hiredate)as平均服務(wù)年限fromempgroupbydeptno;列出從事同一種工作但屬于不同部門的員工的一種組合。selectdistincttl?deptno,tl?jobfromemptl,empt2wheretl?deptno!=t2?deptnoandtl.job=t2?joborderbytl.job;列出所有部門的詳細信息和部門人數(shù)。selectd?deptno,d?dname,d?loc,e?部門人數(shù)fromdeptd,(selectcount(deptno)as部門人數(shù),deptnofromempgroupbydeptno)ewhered.deptno=e.deptno;列出薪水水平處于第四位的員工。selectename,empno,sal,排名from(selectename,empno,sal,dense_rank()over(orderbysaldesc)as排名fromemp)where排名=4;42?査找EMP表中前5條記錄。select*fromempwhererownum<=5;43.査找EMP表中10條以后的記錄。select*from(selecte.*,row_number()over(orderbyempno)排名fromempe)where排名>10;44?査找EMP表中薪水第5高的員工。selectempnofrom(selectempno,rank()over(orderbysaldesc)asrfromemp)wherer=5;45.査找EMP表部門

溫馨提示

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

評論

0/150

提交評論