資源描述:
《oracle查詢練習(xí)及答案》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、1找出傭金高于薪金60%的雇員。SELECT*FROMempWHEREcomm>sal*0.6;2找出部門10中所有經(jīng)理和部門20中所有辦事員的詳細(xì)資料。SELECT*FROMempWHEREdeptno=10ANDJOB='MANAGER'ORdeptno=20ANDjob='CLERK';3找出部門10中所有經(jīng)理,部門20中所有辦事員以及既不是經(jīng)理又不是辦事員但其薪金大于或等2000的所有雇員的詳細(xì)資料。SELECT*FROMempWHEREdeptno=10ANDJOB='MANAGER'ORdeptno
2、=20ANDjob='CLERK'ORJOBNOTIN('MANAGER','CLERK')ANDSAL>=2000;SELECT*FROMempWHEREdeptno=10ANDJOB='MANAGER'ORdeptno=20ANDjob='CLERK'OR(JOB<>'MANAGER'ANDJOB<>'MANAGER'ANDSAL>=2000);4找出收取傭金的雇員的不同工作。SELECTDISTINCTJOBFROMEMPWHERECOMMISNOTNULL;5找出不收取傭金或收取的傭金低于300的雇員。
3、SELECT*FROMEMPWHERECOMMISNULLORCOMM<300;6找出各月最后一天受雇的所有雇員。SELECT*FROMEMPWHEREHIREDATE=LAST_DAY(HIREDATE);--找出各月最后受雇的所有雇員SELECT*FROMempWHEREhiredateIN(SELECTmaxhFROM(SELECTMAX(HIREDATE)maxh,EXTRACT(MONTHFROMhiredate)FROMEMPGROUPBYEXTRACT(MONTHFROMhiredate)));7
4、找出晚于26年之前受雇的雇員。SELECT*FROMempWHEREmonths_between(SYSDATE,hiredate)<=26*12;8顯示只有首字母大寫的的所有雇員的姓名。SELECT*FROMempWHEREename=initcap(ename);9顯示正好為5個字符的雇員的姓名。SELECT*FROMempWHERElength(ename)=5;10顯示不帶有“R”的雇員姓名。SELECT*FROMempWHEREinstr(ename,'R')=0;SELECT*FROMempWHER
5、EenameNOTLIKE'%R%';11顯示所有雇員的姓名的前三個字符。SELECTsubstr(ename,1,3)ASen3FROMemp;12顯所有雇員的姓名,用a替換所有“A”。SELECTREPLACE(ename,'A','a')FROMemp;13顯示所有雇員的姓名以及滿10年服務(wù)年限的日期。SELECTENAME,HIREDATE,ADD_MONTHS(HIREDATE,120)ASH_10YFROMEMP;14顯示雇員的詳細(xì)資料,按姓名排序。SELECT*FROMEMPORDERBYENAM
6、E;15顯示雇員姓名,根據(jù)其服務(wù)年限,將最老的雇員排在最前面。SELECTENAME,HIREDATEFROMEMPORDERBYHIREDATE;16顯示所有雇員的姓名、工作和薪金,按工作內(nèi)的工作的降序順序順序排序,而工作按薪金排序。SELECTENAME,JOB,SALFROMEMPORDERBYJOBDESC,SAL;17顯示所有雇員的姓名和加入公司的年份和月份,按雇員受雇日所在月排序,并將最早年份的項(xiàng)目排在最前面。SELECTENAME,TO_CHAR(HIREDATE,'YYYY-MM')ASY_MF
7、ROMEMPORDERBYTO_CHAR(HIREDATE,'MM'),TO_CHAR(HIREDATE,'YYYY');18顯示在一個月為30天的情況下所有雇員的日薪金,取整。SELECTROUND(SAL/30)ASSALFROMEMP;19找出在(任何年份的)2月受聘的所有雇員。SELECT*FROMEMPWHERETO_CHAR(HIREDATE,'MM')='02';20對于每個雇員,顯示其加入公司的天數(shù)。SELECTCEIL(SYSDATE-HIREDATE)ASDYFROMEMP;21顯示姓名字段
8、的任何位置,包含“A”的所有雇員的姓名。SELECTENAMEFROMEMPWHEREENAMELIKE'%A%';SELECTENAMEFROMEMPWHEREINSTR(ENAME,'A')>0;22以年、月和日顯示所有雇員的服務(wù)年限。SELECTHIREDATE,FLOOR(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12)ASY,MOD(FLOOR(MON