




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.ORACLE數據庫物理結構包括以下三種文件,以下不屬于的是( ) A系統文件B日志文件C數據文件D控制文件2.下列哪個命令是用于ORACLE中數據導出的 ( )Aexp Bimp Cinput Doutput3.()是用于控制數據訪問的語言。ADML BDDL CDCL DDLL4.NULL表示什么()A0 B空格 C值 D沒有值5.下面四個語句中哪一個是正確的?()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.假定有一張表用戶表users,其中一身份證字段ID_card。為了維護數據的完整性,在設計數據庫時,最好對ID_card字段添加約束,請問應該添加什么約束()A primary key Bcheck Cdefault Dnot null7.下面哪一個like命令會返回名字象HOTKA的行?()Awhere ename like _HOT% B where ename like H_T% C where ename like %TKA_ D where ename like %TOK%8.()操作符只返回由第一個查詢選定但是沒有被第二個查詢選定的行。A.UNIO
3、NB.UNION ALLC.INTERSECTD.MINUS9EMPLOYEES表的結構如下:EMPLOYEE_ID NUMBER PRIMARY KEYFIRST_NAME VARCHAR2(25)LAST_NAME VARCHAR2(25)HIRE_DATE DATE考慮下面的語句。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;完成本次事務處理以后,以下說法正確的有( )A.表中沒有行。B.有一個姓名為James的員工。C.不能多次回滾到相同的保存點。D. 由于已經刪除了員工ID180,因此最后一次更新未更新任何行。10以下運算結果不為空值的是() A12
5、+NULL B60*NULL CNULLNULL D12/(60+NULL)11若當前日期為25-5月-06,以下()表達式能計算出5個月后那一天所在月份的最后一天的日期。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哪一個是子查詢執行的順序()A最里面的查詢
6、到最外面的查詢B最外面的查詢到最里面的查詢C簡單查詢到復雜查詢D復雜查詢到簡單查詢14下面哪一個語句可以使用子查詢()ASELECT 語句 BUPDATE語句CDELETE語句 D以上都是15如果表DEPT包含3條記錄,現在用如下命令對其進行修改,ALTER TABLE DEPT ADD (COMP NUMBER(4) NOT NULL);請問下面哪一個說法是正確的()A該語句在表的最前面插入一個非空列B該語句在表的最后插入一個非空列C該語句執行完成后,應當立即執行COMMIT語句,以確保更改生效D該語句將產生錯誤16下列哪個是組合主鍵的特征()A每列有唯一的值,但不是NULL值B組合有唯一的
7、值,并且其中每列沒有NULL值C組合的第一列和最后一列有唯一值D組合的第一列和最后一列有唯一值,但沒有NULL值17當刪除父表中的數據時,在CREATE TABLE語句的外鍵定義中指定的()選項刪除子表中的數據。AON TRUNCATE CASCADE BON DELETE CASCADE CON UPDATE CASCADE DA和C都是18視圖可以用于()A限制對表中指定列的訪問B限制對表中行的子集的訪問CA和B都是DA和B都不是19語句SELECT * FROM dept WHERE NOT EXISTS (SELECT * FROM emp WHERE deptno=dept.dept
8、no)執行后的結果為()A只顯示存在于EMP表中的部門全部信息。B只顯示不存在于EMP表中的部門全部信息C未返回任何數據D顯示DEPT表中的全部信息20已創建序列S1,若當前值為2,先執行3次S1.CURRVAL,再執行3次S1.NEXTVAL,最后S1的值是() A3 B4 C5 D621 數據庫中有兩個用戶scott和myuser,物資表wz是屬于myuser用戶的,但當前用戶是scott,要求查詢物資表wz(wno,wname,wtype,wunit)物資單位wunit列為null的記錄,取結果的前5條記錄顯示,以下正確的SQL語句是() 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中,使用下列的語句: CREATE PUBLIC SYNONYM parts FOR Scott.inventory; 完成的任務是()。(選擇一項)A.需要給出schema被除去的對象名B.指定了新的對象權限C.指定了新的系統權限D.給Scott.inventory對象創建一個公用同義詞parts21在Oracle中,有一個名為seq_id的序列對象,假定此時查看seq_id序列當前值顯示為100,那么執
11、行下面的sql insert into test(id, name) values(seq_id.NEXTVAL,tom ); 很不幸,這個insert沒有執行成功,隨后馬上執行rollback,問:此時查看seq_id序列當前值顯示為( )選擇一項 A. 99 B、100 C、101 D、不能確定22PL/SQL塊中不能直接使用的SQL命令是()選一項A.SELECTB.INSERTC.UPDATED.DROP23在PL/SQL塊中,以零作除數時會引發下列( )異常。(選擇一項)A.VALUE_ERRORB.ZERO_DIVIDEC.VALUE_DIVIDED.ZERO_ERROR24在Or
12、acle中,有一個名為seq的序列對象,以下語句能返回序列值但不會引起序列值增加的是()(選擇一項)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當Select Into語句的返回沒有數據時,將引發下列哪個異常?()選擇一項A.No_Data_FoundB.To_Many_RowC.Too_Many_RowsD.Invalid_Number26創建序列時,若未指定Cycle選項,則當前值大于
13、MaxValue時將()選擇一項A.從MinValue重新開始循環B.重復使用MaxValue 值C.執行出錯D.使用隨機值27PL/SQL塊中哪幾部分是可選的()選擇二項A.DeclareB.BeginC.ExceptionD.以上均是28在Oracle中,PL/SQL塊中定義了一個帶參數的游標:CURSOR emp_cursor(dnum NUMBER) ISSELECT sal, comm FROM emp WHERE deptno = dnum;那么正確打開此游標的語句是()(選擇兩項)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觸發器中可使用的引用有()選一項A.new B.Old C.:Update D.:New和:Old30下面哪些是過程中的有效參數模式?()不定項選擇 A.IN B. INOUT C.OUT D. OUT IN1.檢索部門編號、部門名稱、部門所在地及其每個部門的員工總數。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.檢索員工和所屬經理的姓名。select e.ename 雇員,m.ename 經理 from emp e,emp m where e.mgr=m.empno;3. 檢索工資等級處于第四級別的員工的姓名。select e.ename from emp e inner join salgrade s on (e.sal between s.losal and s.hisal) where s.grade=4;4.檢索工資等級高于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部門中1980年1月份之前入職的員工信息。顯示:員工號、員工名、部門號,部門名、入職日期。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. 檢索雇員的雇傭日期早于其經理雇傭日期的員工及其經理姓名。select e.ename 雇員,m.ename 經理,e.HIREDATE 雇員的雇傭日期,m.hiredate 經理雇傭日期 from emp e,emp m where e.mgr=m.empno and e.hiredate=3 and num=8;14. 檢索與30部門員工工資等級相同的員工姓名與工資。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. 求分段顯示薪水的個數。顯示結果如下: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實現輸出7369號員工的姓名。-用PL/sql實現輸出7369員工的姓名;set serveroutput on; - 將sql*plus的輸出功能
20、開啟declare -聲明部分var_empno number(4) := 7369 ; -聲明一個變量var_empno ,并給賦值,用:= 賦值var_name varchar2(10); -聲明一個變量var_name var_sal number(9,2);begin -執行部分的開始 select ename ,sal into var_name ,var_sal from emp where empno = var_empno; dbms_output.put_line(var_empno | 的名字是 : | var_name); -輸出語句dbms_output.put_lin
21、e(var_empno | 的工資是 : | var_ sal ); -輸出語句end; -執行部分的結束,end后面要加 ;-執行結果為:7369 的名字是 : SMITHPL/SQL 過程已成功完成。17.編寫一sql語句,將7369號員工的入職日期改為1997/7/1,工資提高800 ,其他信息不變。update emp set hiredate=to_date(1997/7/1,yyyy-mm-dd),sal=sal+800 where empno=7369;18.假定現在有一張表,表名為T_emp ,其表結構和現有的emp表結構完全相同,但是T_emp中沒有記錄,請編寫一sql語句,
22、實現將emp中部門編號為20的員工信息添加到T_emp中。19. 對所有員工,如果該員工職位是MANAGER,并且在DALLAS工作那么就給他薪金加15;如果該員工職位是CLERK,并且在NEW YORK工作那么就給他薪金扣除5;其他情況不作處理。要求:使用游標或函數編程實現。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. 對直接上級是BLAKE的所有員工,按照參加工作的時間
24、加薪:1981年6月以前入職的員工加薪10、1981年6月以后入職的員工加薪5。要求:使用游標或函數編程實現。declare cursor c1 is select * from emp where mgr = (select empno from emp where ename=BLAKE); -直接上級是BLAKE的所有員工 c1rec c1%rowtype;begin for c1rec in c1 loop if c1rec.hiredate =2000的所有雇員的詳細資料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部門外,部門平均工資在2500以上的部門,列出部門編號和平均工資。select avg(sal) , deptno from emp where deptno 20 group by deptno having avg(sal)
26、2500;9.列出薪金等于部門30中員工的薪金的所有員工的姓名和薪金。select * from emp where sal in (select sal from emp where deptno=30);10. 列出所有部門的詳細信息和部門人數。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. 返回工資水平(等級)高于平均工資水平的員工詳細信
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. 列出至少有兩個員工的所有部門信息select * from dept where deptno in (select deptno from emp group by deptno hav
28、ing count(*)1);14. 查詢emp表的第6行到第10行內容Select * from (select rownum r,e.* from emp e) where r between 6 and 10;15. 查詢入職最早的前5到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、.編寫一sql語句,將7369號員工的入職日期改為1997/7/1,工資提高800 ,其他信息不變。 update emp set hiredate=to_date(1997/7/1,yyyy-mm-dd),sal=sal+800 where empno=7369;17. 查詢雇員和其直接領導姓名及他們所在部門名稱,沒有領導的雇員也要列出.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. 列出部門編號,部門名稱,部門的員工數量,部門的平均工資.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. 定義游標update_cur,根據職務調整雇員的工資,如果職務為“SALESMAN”或者“ANALYST”工資上調100元,如果職務為“MANAGER”工資上調200元,其它職務工資上調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. 創建一個觸發器,使其可以修改DEPT表的DEPTNO。create or replace trigger update_deptafter update on deptfor each rowbeginupdate emp set deptno=:new.deptno where deptno=:old.deptno;end;1.對所有員工,如果該員工職位是MANAGER,并且在DALLAS工作那么就給他薪金加15;如果該員工職位是CLERK,并且在NEW YORK工作那么就給他薪金扣除5;其他情況不作處理。要求:使用游標或函數編程實現。1. set serveroutput on;declare curso
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業綜合實踐報告
- 2025年健康養生食品行業市場細分領域消費趨勢洞察報告
- 2025年即時配送行業成本節約之道:配送路徑優化與效率提升
- 2025年互聯網醫療平臺在線問診平臺與患者健康信息咨詢服務對接報告
- 2025年互聯網醫療平臺在線問診患者滿意度提升策略與質量控制報告001
- 2025年互聯網醫療平臺在線問診服務質量提升與健康管理服務研究報告
- 2025年資料員之資料員專業管理實務每日一練試卷A卷含答案
- 2025年互聯網醫療平臺在線問診服務與患者隱私保護技術研究報告001
- 2025年互聯網數據中心數據中心網絡安全態勢感知報告
- 2025年互聯網金融平臺資金存管系統安全防護與合規性要求報告
- 刺繡介紹教學課件
- 民航招飛駕駛測試題及答案
- 北京稅務籌劃課件
- 肥料施用與作物營養診斷考核試卷
- 內燃機技術協議書
- 數字智慧方案數字鄉村信息化建設及精細化治理平臺建設方案
- 知識產權國際保護課件
- 2024年隴南市事業單位專業技術人才引進筆試真題
- 《中央銀行數字貨幣基本知識》課件
- 2025年海南省中考模擬語文試題(含答案)
- 法律文化-形考作業1-國開(ZJ)-參考資料
評論
0/150
提交評論