ORACLE數(shù)據(jù)庫(kù)習(xí)題_第1頁(yè)
ORACLE數(shù)據(jù)庫(kù)習(xí)題_第2頁(yè)
ORACLE數(shù)據(jù)庫(kù)習(xí)題_第3頁(yè)
ORACLE數(shù)據(jù)庫(kù)習(xí)題_第4頁(yè)
ORACLE數(shù)據(jù)庫(kù)習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.ORACLE數(shù)據(jù)庫(kù)物理結(jié)構(gòu)包括以下三種文件,以下不屬于的是( ) A系統(tǒng)文件B日志文件C數(shù)據(jù)文件D控制文件2.下列哪個(gè)命令是用于ORACLE中數(shù)據(jù)導(dǎo)出的 ( )Aexp Bimp Cinput Doutput3.()是用于控制數(shù)據(jù)訪(fǎng)問(wèn)的語(yǔ)言。ADML BDDL CDCL DDLL4.NULL表示什么()A0 B空格 C值 D沒(méi)有值5.下面四個(gè)語(yǔ)句中哪一個(gè)是正確的?()ASELECT * , ENAME FROM EMP;B DELETE * FROM EMP;C SELECT DISTINCT EMPNO ,HIREDATE FROM EMP;DSELECT ENAME|SAL AS “n

2、ame” FROM EMP ;6.假定有一張表用戶(hù)表users,其中一身份證字段ID_card。為了維護(hù)數(shù)據(jù)的完整性,在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),最好對(duì)ID_card字段添加約束,請(qǐng)問(wèn)應(yīng)該添加什么約束()A primary key Bcheck Cdefault Dnot null7.下面哪一個(gè)like命令會(huì)返回名字象HOTKA的行?()Awhere ename like _HOT% B where ename like H_T% C where ename like %TKA_ D where ename like %TOK%8.()操作符只返回由第一個(gè)查詢(xún)選定但是沒(méi)有被第二個(gè)查詢(xún)選定的行。A.UNIO

3、NB.UNION ALLC.INTERSECTD.MINUS9EMPLOYEES表的結(jié)構(gòu)如下:EMPLOYEE_ID NUMBER PRIMARY KEYFIRST_NAME VARCHAR2(25)LAST_NAME VARCHAR2(25)HIRE_DATE DATE考慮下面的語(yǔ)句。1.CREATE table new_emp (employee_id NUMBER,name VARCHAR2(30);2.INSERT INTO new_emp SELECT employee_id,last_name from employees;3.Savepoint s2;4.DELETE from

4、new_emp;5.ROLLBACK to s2;6.DELETE from new_emp where employee_id=180;7.UPDATE new_emp set name=James;8.ROLLBACK to s2;9.UPDATE new_emp set name =JamesWHERE employee_id=180;10.ROLLBACK;完成本次事務(wù)處理以后,以下說(shuō)法正確的有( )A.表中沒(méi)有行。B.有一個(gè)姓名為James的員工。C.不能多次回滾到相同的保存點(diǎn)。D. 由于已經(jīng)刪除了員工ID180,因此最后一次更新未更新任何行。10以下運(yùn)算結(jié)果不為空值的是() A12

5、+NULL B60*NULL CNULLNULL D12/(60+NULL)11若當(dāng)前日期為25-5月-06,以下()表達(dá)式能計(jì)算出5個(gè)月后那一天所在月份的最后一天的日期。ANEXT_DAY(ADD_MONTHS(28-5月-06,5) BNEXT_DAY(MONTHS_BETWEEN(28-5月-06,5) CLAST_DAY(MONTHS_BETWEEN(28-5月-06,5) DLAST_DAY(ADD_MONTHS(28-5月-06,5)12( )子句用于列出唯一值。Aunique Bdistinct Corder by Dgroup by13哪一個(gè)是子查詢(xún)執(zhí)行的順序()A最里面的查詢(xún)

6、到最外面的查詢(xún)B最外面的查詢(xún)到最里面的查詢(xún)C簡(jiǎn)單查詢(xún)到復(fù)雜查詢(xún)D復(fù)雜查詢(xún)到簡(jiǎn)單查詢(xún)14下面哪一個(gè)語(yǔ)句可以使用子查詢(xún)()ASELECT 語(yǔ)句 BUPDATE語(yǔ)句CDELETE語(yǔ)句 D以上都是15如果表DEPT包含3條記錄,現(xiàn)在用如下命令對(duì)其進(jìn)行修改,ALTER TABLE DEPT ADD (COMP NUMBER(4) NOT NULL);請(qǐng)問(wèn)下面哪一個(gè)說(shuō)法是正確的()A該語(yǔ)句在表的最前面插入一個(gè)非空列B該語(yǔ)句在表的最后插入一個(gè)非空列C該語(yǔ)句執(zhí)行完成后,應(yīng)當(dāng)立即執(zhí)行COMMIT語(yǔ)句,以確保更改生效D該語(yǔ)句將產(chǎn)生錯(cuò)誤16下列哪個(gè)是組合主鍵的特征()A每列有唯一的值,但不是NULL值B組合有唯一的

7、值,并且其中每列沒(méi)有NULL值C組合的第一列和最后一列有唯一值D組合的第一列和最后一列有唯一值,但沒(méi)有NULL值17當(dāng)刪除父表中的數(shù)據(jù)時(shí),在CREATE TABLE語(yǔ)句的外鍵定義中指定的()選項(xiàng)刪除子表中的數(shù)據(jù)。AON TRUNCATE CASCADE BON DELETE CASCADE CON UPDATE CASCADE DA和C都是18視圖可以用于()A限制對(duì)表中指定列的訪(fǎng)問(wèn)B限制對(duì)表中行的子集的訪(fǎng)問(wèn)CA和B都是DA和B都不是19語(yǔ)句SELECT * FROM dept WHERE NOT EXISTS (SELECT * FROM emp WHERE deptno=dept.dept

8、no)執(zhí)行后的結(jié)果為()A只顯示存在于EMP表中的部門(mén)全部信息。B只顯示不存在于EMP表中的部門(mén)全部信息C未返回任何數(shù)據(jù)D顯示DEPT表中的全部信息20已創(chuàng)建序列S1,若當(dāng)前值為2,先執(zhí)行3次S1.CURRVAL,再執(zhí)行3次S1.NEXTVAL,最后S1的值是() A3 B4 C5 D621 數(shù)據(jù)庫(kù)中有兩個(gè)用戶(hù)scott和myuser,物資表wz是屬于myuser用戶(hù)的,但當(dāng)前用戶(hù)是scott,要求查詢(xún)物資表wz(wno,wname,wtype,wunit)物資單位wunit列為null的記錄,取結(jié)果的前5條記錄顯示,以下正確的SQL語(yǔ)句是() Aselect*from scott.wz wh

9、ere wunit is null and rownum5;Bselect*from myuser.wz where wunit = null and rownum5;Cselect*from myuser.wz where wunit is null and rownum6; Dselect*form scott.wz where wunit is null and rownum=100 AND =100 AND order_total5; B.SELECT ENAME FROM EMP1 WHERE HIRE_DATE-SYSDATE5;C.SELECT ENAME FROM EMP1 W

10、HERE (SYSDATE-HIRE_DATE)/3655;D.SELECT ENAME FROM EMP1 WHERE (SYSDATE-HIRE_DATE)*3655;20在Oracle中,使用下列的語(yǔ)句: CREATE PUBLIC SYNONYM parts FOR Scott.inventory; 完成的任務(wù)是()。(選擇一項(xiàng))A.需要給出schema被除去的對(duì)象名B.指定了新的對(duì)象權(quán)限C.指定了新的系統(tǒng)權(quán)限D(zhuǎn).給Scott.inventory對(duì)象創(chuàng)建一個(gè)公用同義詞parts21在Oracle中,有一個(gè)名為seq_id的序列對(duì)象,假定此時(shí)查看seq_id序列當(dāng)前值顯示為100,那么執(zhí)

11、行下面的sql insert into test(id, name) values(seq_id.NEXTVAL,tom ); 很不幸,這個(gè)insert沒(méi)有執(zhí)行成功,隨后馬上執(zhí)行rollback,問(wèn):此時(shí)查看seq_id序列當(dāng)前值顯示為( )選擇一項(xiàng) A. 99 B、100 C、101 D、不能確定22PL/SQL塊中不能直接使用的SQL命令是()選一項(xiàng)A.SELECTB.INSERTC.UPDATED.DROP23在PL/SQL塊中,以零作除數(shù)時(shí)會(huì)引發(fā)下列( )異常。(選擇一項(xiàng))A.VALUE_ERRORB.ZERO_DIVIDEC.VALUE_DIVIDED.ZERO_ERROR24在Or

12、acle中,有一個(gè)名為seq的序列對(duì)象,以下語(yǔ)句能返回序列值但不會(huì)引起序列值增加的是()(選擇一項(xiàng))A.select seq.ROWNUM from dual;B.select seq.NEXTVAL from dual; C.select seq.CURRVAL from dual;D.select seq.CURIVAL from dual;25當(dāng)Select Into語(yǔ)句的返回沒(méi)有數(shù)據(jù)時(shí),將引發(fā)下列哪個(gè)異常?()選擇一項(xiàng)A.No_Data_FoundB.To_Many_RowC.Too_Many_RowsD.Invalid_Number26創(chuàng)建序列時(shí),若未指定Cycle選項(xiàng),則當(dāng)前值大于

13、MaxValue時(shí)將()選擇一項(xiàng)A.從MinValue重新開(kāi)始循環(huán)B.重復(fù)使用MaxValue 值C.執(zhí)行出錯(cuò)D.使用隨機(jī)值27PL/SQL塊中哪幾部分是可選的()選擇二項(xiàng)A.DeclareB.BeginC.ExceptionD.以上均是28在Oracle中,PL/SQL塊中定義了一個(gè)帶參數(shù)的游標(biāo):CURSOR emp_cursor(dnum NUMBER) ISSELECT sal, comm FROM emp WHERE deptno = dnum;那么正確打開(kāi)此游標(biāo)的語(yǔ)句是()(選擇兩項(xiàng))E.OPEN emp_cursor(20);F.OPEN emp_cursor FOR 20;G.O

14、PEN emp_cursor USING 20;H.FOR emp_rec IN emp_cursor(20) LOOP END LOOP;29在Insert觸發(fā)器中可使用的引用有()選一項(xiàng)A.new B.Old C.:Update D.:New和:Old30下面哪些是過(guò)程中的有效參數(shù)模式?()不定項(xiàng)選擇 A.IN B. INOUT C.OUT D. OUT IN1.檢索部門(mén)編號(hào)、部門(mén)名稱(chēng)、部門(mén)所在地及其每個(gè)部門(mén)的員工總數(shù)。select d.deptno,d.dname,d.loc,count(*) from emp e,dept d where e.deptno=d.deptno group

15、 by d.deptno,d.dname,d.loc;2.檢索員工和所屬經(jīng)理的姓名。select e.ename 雇員,m.ename 經(jīng)理 from emp e,emp m where e.mgr=m.empno;3. 檢索工資等級(jí)處于第四級(jí)別的員工的姓名。select e.ename from emp e inner join salgrade s on (e.sal between s.losal and s.hisal) where s.grade=4;4.檢索工資等級(jí)高于smith的員工信息。select * from emp e join salgrade s on (e.sal

16、between s.losal and s.hisal) where s.grade(select distinct s.grade from emp e join salgrade s on (select sal from emp where ename=SMITH) between s.losal and s.hisal);5.檢索30部門(mén)中1980年1月份之前入職的員工信息。顯示:?jiǎn)T工號(hào)、員工名、部門(mén)號(hào),部門(mén)名、入職日期。select empno,ename,d.deptno,d.dname,hiredate from emp,dept d where emp.deptno=d.dep

17、tno and d.deptno=30 and hiredateto_date(1980-01-01,yyyy-mm-dd);6. 檢索雇員的雇傭日期早于其經(jīng)理雇傭日期的員工及其經(jīng)理姓名。select e.ename 雇員,m.ename 經(jīng)理,e.HIREDATE 雇員的雇傭日期,m.hiredate 經(jīng)理雇傭日期 from emp e,emp m where e.mgr=m.empno and e.hiredate=3 and num=8;14. 檢索與30部門(mén)員工工資等級(jí)相同的員工姓名與工資。select * from emp e join salgrade s on (e.sal be

18、tween s.LOSAL and s.HISAL) where s.grade=(select distinct s.grade from emp e join salgrade s on (select avg(sal) from emp where deptno=30) between s.LOSAL and s.HISAL);15. 求分段顯示薪水的個(gè)數(shù)。顯示結(jié)果如下:DEPTNO 800-2000 2001-5000- - - 30 5 1 20 2 3 10 1 2select t1.deptno, 800-2000, 2001-5000 from ( select deptno

19、, count(*) as 800-2000 from emp where sal between 800 and 2000 group by deptno ) t1 join ( select deptno , count(*) as 2001-5000 from emp where sal between 2001 and 5000 group by deptno) t2 on t1.deptno = t2.deptno;16. 用PL/sql實(shí)現(xiàn)輸出7369號(hào)員工的姓名。-用PL/sql實(shí)現(xiàn)輸出7369員工的姓名;set serveroutput on; - 將sql*plus的輸出功能

20、開(kāi)啟declare -聲明部分var_empno number(4) := 7369 ; -聲明一個(gè)變量var_empno ,并給賦值,用:= 賦值var_name varchar2(10); -聲明一個(gè)變量var_name var_sal number(9,2);begin -執(zhí)行部分的開(kāi)始 select ename ,sal into var_name ,var_sal from emp where empno = var_empno; dbms_output.put_line(var_empno | 的名字是 : | var_name); -輸出語(yǔ)句dbms_output.put_lin

21、e(var_empno | 的工資是 : | var_ sal ); -輸出語(yǔ)句end; -執(zhí)行部分的結(jié)束,end后面要加 ;-執(zhí)行結(jié)果為:7369 的名字是 : SMITHPL/SQL 過(guò)程已成功完成。17.編寫(xiě)一sql語(yǔ)句,將7369號(hào)員工的入職日期改為1997/7/1,工資提高800 ,其他信息不變。update emp set hiredate=to_date(1997/7/1,yyyy-mm-dd),sal=sal+800 where empno=7369;18.假定現(xiàn)在有一張表,表名為T(mén)_emp ,其表結(jié)構(gòu)和現(xiàn)有的emp表結(jié)構(gòu)完全相同,但是T_emp中沒(méi)有記錄,請(qǐng)編寫(xiě)一sql語(yǔ)句,

22、實(shí)現(xiàn)將emp中部門(mén)編號(hào)為20的員工信息添加到T_emp中。19. 對(duì)所有員工,如果該員工職位是MANAGER,并且在DALLAS工作那么就給他薪金加15;如果該員工職位是CLERK,并且在NEW YORK工作那么就給他薪金扣除5;其他情況不作處理。要求:使用游標(biāo)或函數(shù)編程實(shí)現(xiàn)。set serveroutput on;declare cursor c1 is select * from emp; c1rec c1%rowtype; v_loc varchar2(20);begin for c1rec in c1 loop select loc into v_loc from dept where

23、 deptno = c1rec.deptno; if c1rec.job = MANAGER and v_loc = DALLAS then update emp set sal = sal * 1.15 where empno = c1rec.empno; elsif c1rec.job=CLERK and v_loc = NEW YORK then update emp set sal = sal * 0.95 where empno = c1rec.empno; else null; end if; end loop; end;20. 對(duì)直接上級(jí)是BLAKE的所有員工,按照參加工作的時(shí)間

24、加薪:1981年6月以前入職的員工加薪10、1981年6月以后入職的員工加薪5。要求:使用游標(biāo)或函數(shù)編程實(shí)現(xiàn)。declare cursor c1 is select * from emp where mgr = (select empno from emp where ename=BLAKE); -直接上級(jí)是BLAKE的所有員工 c1rec c1%rowtype;begin for c1rec in c1 loop if c1rec.hiredate =2000的所有雇員的詳細(xì)資料select * from emp where (deptno=10 and job=upper(manager)

25、 or (deptno=20 and job=upper(clerk ) or (jobupper(manager) and jobupper(clerk) and sal=2000)4.找出不收取傭金或收取的傭金低于100的雇員select * from emp where nvl(comm,0) (select avg(sal) from emp);8.顯示除20部門(mén)外,部門(mén)平均工資在2500以上的部門(mén),列出部門(mén)編號(hào)和平均工資。select avg(sal) , deptno from emp where deptno 20 group by deptno having avg(sal)

26、2500;9.列出薪金等于部門(mén)30中員工的薪金的所有員工的姓名和薪金。select * from emp where sal in (select sal from emp where deptno=30);10. 列出所有部門(mén)的詳細(xì)信息和部門(mén)人數(shù)。select a.*,(select count(*) from emp where deptno=a.deptno) tot from dept a ;11. 列出各種工作的最低月收入。select job,min(sal+nvl(comm,0) from emp group by job;12. 返回工資水平(等級(jí))高于平均工資水平的員工詳細(xì)信

27、息。 select * from emp e join salgrade s on (e.sal between s.losal and s.hisal) where s.grade(select distinct s.grade from emp e join salgrade s on (select avg(sal) from emp) between s.losal and s.hisal);13. 列出至少有兩個(gè)員工的所有部門(mén)信息select * from dept where deptno in (select deptno from emp group by deptno hav

28、ing count(*)1);14. 查詢(xún)emp表的第6行到第10行內(nèi)容Select * from (select rownum r,e.* from emp e) where r between 6 and 10;15. 查詢(xún)?nèi)肼氉钤绲那?到10名員工的姓名和入職日期(按年月日格式顯示日期)Select ename,to_char(hiredate,yyyy-mm-dd) from (select ename,hiredate,rownum r from (select ename,hiredate from emp order by hiredate ) where rownum=5;16

29、.編寫(xiě)一sql語(yǔ)句,將7369號(hào)員工的入職日期改為1997/7/1,工資提高800 ,其他信息不變。 update emp set hiredate=to_date(1997/7/1,yyyy-mm-dd),sal=sal+800 where empno=7369;17. 查詢(xún)雇員和其直接領(lǐng)導(dǎo)姓名及他們所在部門(mén)名稱(chēng),沒(méi)有領(lǐng)導(dǎo)的雇員也要列出.select e.ename,ed.dname,m.ename,md.dname from emp e,emp m,dept ed,dept md where e.deptno=ed.deptno and e.mgr=m.empno(+) and m.dep

30、tno=md.deptno(+);18. 列出部門(mén)編號(hào),部門(mén)名稱(chēng),部門(mén)的員工數(shù)量,部門(mén)的平均工資.select d.deptno,d.dname,t.cou,t.avg from dept d,(select deptno,count(empno) cou,avg(sal) avg from emp group by deptno) t where d.deptno=t.deptno;19. 定義游標(biāo)update_cur,根據(jù)職務(wù)調(diào)整雇員的工資,如果職務(wù)為“SALESMAN”或者“ANALYST”工資上調(diào)100元,如果職務(wù)為“MANAGER”工資上調(diào)200元,其它職務(wù)工資上調(diào)50元。DECLA

31、RE v_job emp.job%TYPE; CURSOR update_cur IS SELECT job FROM emp FOR UPDATE;BEGIN OPEN emp_cur;LOOP FETCH update_cur INTO v_job; EXIT WHEN emp_cur%NOTFOUND; CASE WHEN v_job=SALESMAN OR v_job=ANALYST THEN update emp set sal=sal+100 where current of emp_cur; WHEN v_job= MANAGER THEN update emp set sal=

32、sal+200 where current of emp_cur; ELSE update emp set sal=sal+50 where current of emp_cur;END CASE; END LOOP;END;20. 創(chuàng)建一個(gè)觸發(fā)器,使其可以修改DEPT表的DEPTNO。create or replace trigger update_deptafter update on deptfor each rowbeginupdate emp set deptno=:new.deptno where deptno=:old.deptno;end;1.對(duì)所有員工,如果該員工職位是MANAGER,并且在DALLAS工作那么就給他薪金加15;如果該員工職位是CLERK,并且在NEW YORK工作那么就給他薪金扣除5;其他情況不作處理。要求:使用游標(biāo)或函數(shù)編程實(shí)現(xiàn)。1. set serveroutput on;declare curso

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論