Oracle第二章習(xí)題及答案_第1頁(yè)
Oracle第二章習(xí)題及答案_第2頁(yè)
Oracle第二章習(xí)題及答案_第3頁(yè)
Oracle第二章習(xí)題及答案_第4頁(yè)
Oracle第二章習(xí)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、基于自己創(chuàng)建表的操作1:創(chuàng)建一張學(xué)生表student,擁有stuid,stuname,sex三個(gè)字段,其中stuid為主鍵。createtablestudent(stuidintprimarykey,stunameVARCHAR(20),sexVARCHAR(20)2 :為該表增加一個(gè)新列score。altertablestudentadd(scorevarchar(10);3 :修改該表score列名為stuscore。altertablestudentrenamecolumnscoretostuscoree;4 :為student表插入5條記錄。insertintostudentval

2、ues。,'張三豐','男',80);insertintostudentvalues(2,'阿悄','女',70);insertintostudentvalues(3,'陳龍','男',90);insertintostudentvalues(4,'章子怡','女',50);insertintostudentvalues(5,'張衛(wèi)健','男',60);5:查詢student表中的全部數(shù)據(jù),其中列名為中文。selectSTUIDas學(xué)號(hào),

3、STUNAMEas生名,SEXas生別,STUSCOREEas數(shù)fromstudent;6:查詢學(xué)生姓名和分?jǐn)?shù),并是查詢結(jié)果按照學(xué)生成績(jī)降序排列。selectSTUNAME,STUSCOREEfromstudentorderbySTUSCOREEdesc;7:修改所有性別為“男”的學(xué)生信息為性別為“male。”updatestudentsetSEX='male'whereSEX=?';8:刪除所有記錄。deletefromstudent;9:刪除student表。droptablestudent;二、基于emp表的操作1:創(chuàng)建一張新表empl,和emp表結(jié)構(gòu)和記錄完全一

4、樣。createtableemp1asselect*fromScott.Emp;基于emp1表的操作:1:選擇部門30中的雇員。select*fromemp1whereDEPTNO=30andJOB='CLERK'2:列出所有辦事員(CLERK的姓名、編號(hào)和部門。selectENAME,EMPNO,DEPTNOfromemp1whereJOB='CLERK'3 :找出傭金高(comm)于薪金的雇員。select*fromemp1whereCOMM>SALandJOB='CLERK'4 :找出傭金高于薪金60%的雇員。select*frome

5、mp1whereCOMM*0.6>SALandJOB='CLERK'5 :找出部門10中所有經(jīng)理和部門20中所有辦事員的詳細(xì)資料。select*fromemp1whereDEPTNO=10andJOB='MANAGER'unionselect*fromemp1whereJOB='SALESMAN'6 :找出部門10中所有經(jīng)理和部門20中所有辦事員以及既不是經(jīng)理又不是辦事員但其薪金大于或等于2000的所有雇員的詳細(xì)資料。select*fromemp1whereDEPTNO=10andJOB='MANAGER'unionsele

6、ct*fromemp1whereJOB='SALESMAN'unionselect*fromemp1whereJOBin('CLERK')andSAL>=2000;7找出收取傭金的雇員的不同工作。selectdistinctJOBfromemp1wherejob='CLERK'8:找出不收取傭金或收取傭金低于100的雇員。select*fromemp1whereCOMMisnullornvl(COMM,0)<100;9:按照部門編號(hào)顯示所有雇員信息。select*fromemp1orderbyDEPTNO;作業(yè)要求:將SQL語(yǔ)句復(fù)制粘

7、貼在相對(duì)應(yīng)的題目下面。1 :找出各月最后一天受雇的所有雇員selectdeptno,enamefromempwherehiredate=last_day(hiredate);2 :找出早于12年之前受雇的雇員selectENAME,months_between(sysdate,HIREDATE)/12a年fromempwhereJOB='CLERK'and(months_between(sysdate,HIREDATE)/12)>12;3:顯示只有首字母大寫的所有雇員的姓名selectUPPER(SUBSTR(ename,1,1)|LOWER(SUBSTR(ename,2

8、,LENGTH(ename)-1)FROMempwhereJOB='CLERK'4 :顯示正好為15個(gè)字符的雇員姓名selectdeptno,enamefromempwherelength(ename)=15andJOB='CLERK'5:顯示不帶有的雇員姓名selectenamefromempwhereenamenotlike'%R%'andJOB='CLERK'6:顯示所有雇員的姓名的前3個(gè)字符selectsubstr(ename,1,3)fromempwhereJOB='CLERK'7:顯示所有雇員的姓名,用

9、替換所有的'Aselectreplace(ename,'A','a')fromemp;8:顯示所有雇員的姓名以及滿10年服務(wù)年限的日期selectename,hiredate,add_months(hiredate,10*12)fromemp;9:顯示雇員的詳細(xì)資料,按姓名排序select*fromemporderbyename;10 :顯示雇員姓名,根據(jù)其服務(wù)年限,將最老的雇員排在最前面selectempno,ename,job,mgr,hiredate,sal,comm,deptno,(sysdate-hiredate)/365fromemporde

10、rby(sysdate-hiredate)/365desc;11 :顯示所有雇員的姓名、工作和薪金,按工作內(nèi)的工作的降序順序排序,而工作按薪金排序selectename,job,salfromemporderbyjobdesc,salasc;12 :顯示所有雇員的姓名和加入公司的年份和月份,按雇員受雇日所在月排序,并將最早年份的項(xiàng)目排在最前面selectename,to_char(hiredate,'YYYY')year1,to_char(hiredate,'MON')month1fromemporderbyyear1asc,month1;13 :顯示在一個(gè)月為

11、30天的情況下所有雇員的日薪金,忽略小數(shù)selectround(sal/30,0)asdaypayfromemp;14 :找出在(任何年份的)2月份受雇的所有雇員select*fromempwherehiredatelike'%-2月%'15 :對(duì)于每個(gè)雇員,顯示其加入公司的天數(shù)selectround(sysdate-hiredate)fromemp;16 :顯示姓名字段的任何位置,包含闔所有雇員的姓名selectenamefromempwhereenamelike'%A%'17:以年、月和日顯示所有雇員的服務(wù)年限selectename,to_number(to

12、_char(sysdate,'YYYY')-to_number(to_char(hiredate,'YYYY')-1,to_number(to_char(sysdate,'mm')-to_number(to_char(hiredate,'mm')+10,to_number(to_char(sysdate,'dd')-to_number(to_char(hiredate,'dd')+30fromemp;18:列出至少有一個(gè)雇員的所有部門selectdeptnofromempgroupbydeptnoh

13、avingcount(deptno)>0;19:列出薪金比“SMITH;的所有雇員SELECTename,sal,deptnoFROMempWHEREsal>(SELECTsalFROMempWHEREename='SMITH');20:列出所有雇員的姓名及其部門名selectENAME,DEPTNOfromempwhereJOB='CLERK'21:列出所有入職日期早于其直接上級(jí)的所有雇員SELECTe.enamea歇工,m.enameas經(jīng)理FROMempeleftjoinempmon(e.mgr=m.empno)wheree.hiredate&

14、lt;m.hiredate;22:列出各種類別的最低薪金,并使薪金大于1500selectjob,min(sal)fromempgroupbyjobhavingmin(sal)>1500;23:列出薪金高于公司平均水平的所有雇員selectename,deptnofromempwheresal>(selectavg(sal)fromemp);24:列出與“SCOT1事相同工作的所有雇員selectdeptno,enamefromempwherejob=(selectjobfromempwhereename='SCOTT');2冽出薪金高于在部門30工作的所有雇員的薪

15、金SELECTename,salfromempwheresal>all(selectsalfromempwheredeptno=30);26:列出薪金高于在部門30工作的最高的薪金SELECTename,salfromempwheresal>all(selectmax(sal)fromempwheredeptno=30);27:列出每個(gè)部門雇員的數(shù)量selectdeptno,count(*)fromempgroupbydeptno;28:列出所有雇員的名稱,部門名稱和薪金selectENAME,DEPTNO,SALfromempwhereJOB='CLERK'29:

16、列出從事同一種工作但不屬于同一部門的這些員工selectjob,deptnofromempgroupbyjob,deptno;30:列出個(gè)類別工作的最低工資selectjob,min(sal)fromempgroupbyjob;31:列出各個(gè)部門的經(jīng)理的最低薪金selectDEPTNO,min(sal)fromempwherejob='MANAGER'groupbyDEPTNO;32:列出按計(jì)算的字段排序的所有雇員的年薪selectename,(sal+nvl(comm,0)*12asyearpayfromemporderbyyearpaydesc;33:列出所有CLERK勺姓

17、名及其部門名稱selectENAME,DEPTNOfromepwhereJOB='CLERK'34:列出薪金水平處于前四位的雇員selectsal,enamefromemporderbysaldesc;35:求出所有員工入職了多少年零多少月零多少天selectempno,ename,to_char(floor(to_number(sysdate-hiredate)/365)|'years'|to_char(ceil(months_between(sysdate,hiredate)-(floor(to_number(sysdate-hiredate)/365)*1

18、2)|'months'fromemp;作業(yè)要求:將SQL語(yǔ)句復(fù)制粘貼在相對(duì)應(yīng)的題目下面。1 :找出各月最后一天受雇的所有雇員select*fromempwherehiredate=last_day(hiredate);2 :找出早于12年之前受雇的雇員select*fromempwhereto_number(to_char(sysdate,'yyyy')-to_number(to_char(hiredate,'yyyy')>12;3:顯示只有首字母大寫的所有雇員的姓名SELECTinitcap(ename)FROMemp;SELECTena

19、mefromempwhereename=initcap(ename);4:顯示正好為15個(gè)字符的雇員姓名selectENAMEfromempwherelength(ENAME)=15;5:顯示不帶有的雇員姓名selectENAMEfromempwhereENAMEnotlike'%R%'6:顯示所有雇員的姓名的前3個(gè)字符selectsubstr(ENAME,0,3)fromemp;7:顯示所有雇員的姓名,用替換所有的'Aselectreplace(ENAME,'A','a')fromemp;8:顯示所有雇員的姓名以及滿10年服務(wù)年限的日期

20、selectename,add_months(hiredate,120)fromemp;9:顯示雇員的詳細(xì)資料,按姓名排序select*fromemporderbyename;10:顯示雇員姓名,根據(jù)其服務(wù)年限,將最老的雇員排在最前面selectenamefromemporderbyhiredate;11:顯示所有雇員的姓名、工作和薪金,按工作內(nèi)的工作的降序順序排序,而工作按薪金排序selectename,job,salfromemporderbyjobdesc,saldesc;12:顯示所有雇員的姓名和加入公司的年份和月份,按雇員受雇日所在月排序,并將最早年份的項(xiàng)目排在最前面selecten

21、ame,to_char(hiredate,'yyyy-mm')as"加入年月"fromemporderbyto_char(hiredate,'mm')asc,to_char(hiredate,'yyyy')asc;13 :顯示在一個(gè)月為30天的情況下所有雇員的日薪金,忽略小數(shù)selectround(sal/30,0)fromemp;14 :找出在(任何年份的)2月份受雇的所有雇員select*fromempwhereto_char(hiredate,'mm')='02'15 :對(duì)于每個(gè)雇員,顯示

22、其加入公司的天數(shù)selectename,round(sysdate-hiredate,0)"加入公司天數(shù)"fromemp;16:顯示姓名字段的任何位置,包含闔所有雇員的姓名selectenamefromempwhereenamelike'%A%'17:以年、月和日顯示所有雇員的服務(wù)年限selectename,hiredate,trunc(months_between(sysdate,hiredate)/12)年,trunc(mod(months_between(sysdate,hiredate),12)月,trunc(sysdate-add_months(h

23、iredate,months_between(sysdate,hiredate)日f(shuō)romemp;18:列出至少有一個(gè)雇員的所有部門selectdeptno,count(0)fromempgroupbydeptnohavingcount(0)>=119:列出薪金比“SMITH;的所有雇員selectenamefromempwheresal>(selectsalfromempwhereename='SMITH');selecte2.*fromempe1,empe2wheree1.ename='SMITH'ande2.sal>e1.sal;20:列

24、出所有雇員的姓名及其部門名selecte.ename,d.dnamefromempe,deptdwheree.deptno=d.deptno;selecte.ename,d.dnamefromempejoindeptdone.deptno=d.deptno;21:列出所有入職日期早于其直接上級(jí)的所有雇員select*fromempe1wherehiredate<(selecthiredatefromempe2wheree2.empno=e1.mgr);22:列出各種類別的最低薪金,并使薪金大于1500selectjob,min(sal)fromempgroupbyjobhavingmin

25、(sal)>1500;23:列出薪金高于公司平均水平的所有雇員select*fromempwheresal>(selectavg(sal)fromemp);24:列出與“SCOT1事相同工作的所有雇員select*fromempwherejob=(selectjobfromempwhereename='SCOTT');25:列出薪金高于在部門30工作的所有雇員的薪金selectename,salfromempwheresal>(selectmax(sal)fromempwheredeptno=30);selectename,salfromempwheresal

26、>all(selectsalfromempwheredeptno=30);26:列出薪金高于在部門30工作的最高的薪金selectename,salfromempwheresal>(selectmax(sal)fromempwheredeptno=30);27:列出每個(gè)部門雇員的數(shù)量selectd.*,(selectcount(deptno)fromempewheree.deptno=d.deptno)"雇員人數(shù)"fromdeptd;28:列出所有雇員的名稱,部門名稱和薪金selectename,(selectdnamefromdeptdwhered.deptno=e.deptno)"部門名稱",salfrom

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論