




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一、填空1在多進(jìn)程Oracle實(shí)例系統(tǒng)中,進(jìn)程分為用戶進(jìn)程、后臺(tái)進(jìn)程和服務(wù)進(jìn)程。2.標(biāo)準(zhǔn)的SQL語言語句類型可以分為:數(shù)據(jù)定義語句(DDL)、數(shù)據(jù)操縱語句(DML)和數(shù)據(jù)控制語句(DCL)。3.在需要濾除查詢結(jié)果中重復(fù)的行時(shí),必須使用關(guān)鍵字Distinct; 在需要返回查詢結(jié)果中的所有行時(shí),可以使用關(guān)鍵字ALL。4.當(dāng)進(jìn)行模糊查詢時(shí),應(yīng)使用關(guān)鍵字like和通配符問號(?)或百分號"%"。5.Where子句可以接收From子句輸出的數(shù)據(jù),而HAVING子句則可以接收來自WHERE、FROM或GROUP BY子句的輸入。6.在SQL語句中,用于向表中插入數(shù)據(jù)的語句是Insert
2、。7.如果需要向表中插入一批已經(jīng)存在的數(shù)據(jù),可以在INSERT語句中使用Select語句。8.使用Describe命令可以顯示表的結(jié)構(gòu)信息。9.使用SQL*Plus的Get命令可以將文件檢索到緩沖區(qū),并且不執(zhí)行。10.使用Save命令可以將緩沖區(qū)中的SQL命令保存到一個(gè)文件中,并且可以使用Run命令運(yùn)行該文件。11.一個(gè)模式只能夠被一個(gè)數(shù)據(jù)庫對象所擁有,其創(chuàng)建的所有模式對象都保存在自己的模式中。12.根據(jù)約束的作用域,約束可以分為表級約束和列級約束兩種。列級約束是字段定義的一部分,只能夠應(yīng)用在一個(gè)列上;而表級約束的定義獨(dú)立于列的定義,它可以應(yīng)用于一個(gè)表中的多個(gè)列。13.填寫下面的語句,使其可以
3、為Class表的ID列添加一個(gè)名為PK_CLASS_ID的主鍵約束。 ALTER TABLE ClassAdd _ PK_LASS_ID (Constraint)PRIMARY KEY _ (ID)14. 每個(gè)Oracle 10g數(shù)據(jù)庫在創(chuàng)建后都有4個(gè)默認(rèn)的數(shù)據(jù)庫用戶:system、sys、sysman和DBcnmp15. Oracle提供了兩種類型的權(quán)限:系統(tǒng)權(quán)限和對象權(quán)限。系統(tǒng)權(quán)限提供了在Oracle數(shù)據(jù)庫系統(tǒng)范圍內(nèi)執(zhí)行某種任務(wù)的操作能力,而對象權(quán)限則是一種賦予用戶在指定的數(shù)據(jù)庫對象(如表、視圖、過程等)16. Oralce數(shù)據(jù)庫在進(jìn)行物理備份有聯(lián)機(jī)備份和脫機(jī)備份兩種方式可供選擇。.17.
4、 從存儲(chǔ)結(jié)構(gòu)的角度來說,Oracle數(shù)據(jù)庫可分為物理結(jié)構(gòu)和邏輯結(jié)構(gòu)。18. 表空間是Oracle數(shù)據(jù)庫中數(shù)據(jù)的邏輯組織,每個(gè)數(shù)據(jù)庫至少有一個(gè)SYSTEM系統(tǒng)表空間。19.視圖是一個(gè)表示表的數(shù)據(jù)的數(shù)據(jù)庫對象,它允許用戶從一個(gè)表或一組表中通過一定的查詢語句建立一個(gè)“虛表”。20.序列是一種可被多個(gè)用戶使用的用于產(chǎn)生一系列唯一數(shù)字的數(shù)據(jù)庫對象。尤其適合多用戶環(huán)境中,可以生成唯一的序列號而沒有磁盤I/O或事務(wù)處理鎖定開銷。21. 一個(gè)表空間具有離線(OFFLINE)、在線(ONLINE)、只讀(READ ONLY)、讀寫(READ WRITE)狀態(tài)。二、選擇1在全局存儲(chǔ)區(qū)SGA中,哪部分內(nèi)存區(qū)域是循環(huán)
5、使用的?( B )A數(shù)據(jù)緩沖區(qū) B日志緩沖區(qū)C 共享池 D大池2如果一個(gè)服務(wù)器進(jìn)程非正常終止,Oracle系統(tǒng)將使用下列哪一個(gè)進(jìn)程來釋放它所占用的資源?( D )ADBWR BLGWR C SMON DPMON3. 如果要查詢數(shù)據(jù)庫中所有表的信息,應(yīng)當(dāng)使用下列哪種數(shù)據(jù)字典視圖?( A )A. DBA視圖 B. ALL視圖 C. USER視圖 D. 動(dòng)態(tài)性能視圖4. 下列哪一項(xiàng)是Oracle數(shù)據(jù)庫中最小的存儲(chǔ)分配單元? ( C )A. 表空間 B. 段 C. 盤區(qū) D. 數(shù)據(jù)塊5. 下面的各選項(xiàng)中哪一個(gè)正確描述了Oracle數(shù)據(jù)庫的邏輯存儲(chǔ)結(jié)構(gòu)? ( A )A. 表空間由段組成,段由盤區(qū)組成,盤
6、區(qū)由數(shù)據(jù)塊組成B. 段由表空間組成,表空間由盤區(qū)組成,盤區(qū)由數(shù)據(jù)塊組成C. 盤區(qū)由數(shù)據(jù)塊組成,數(shù)據(jù)塊由段組成,段由表空間組成D. 數(shù)據(jù)塊由段組成,段由盤區(qū)組成,盤區(qū)由表空間組成6. 下列的哪個(gè)子句在SELECT語句中用于排序結(jié)果集?( D )A. Having子句 B. Where子句 C. From子句 D. Order by子句7. Having子句的作用是( B )。a. 查詢結(jié)果的分組條件B. 組的篩選條件C. 限定返回的行的判斷條件D. 對結(jié)果集進(jìn)行排序8. 下列哪個(gè)函數(shù)可以把一個(gè)列中的所有值相加求和? ( B )A MAX B. SUM C. COUNT D. AVG9. 下列哪個(gè)
7、子句是SELECT語句中必選項(xiàng)?( A )A. FROM B.WHERE C.HAVING D. ORDER BY10. 下列哪個(gè)子句實(shí)現(xiàn)對一個(gè)結(jié)果集進(jìn)行分組和匯總?( D )AHAVING B. ORDER BY C. WHERE D. GROUP BY11. 查詢一個(gè)表的總記錄數(shù),可以采用_統(tǒng)計(jì)函數(shù)。( C )A. AVG(*) B. SUM(*) C. COUNT(*) D.MAX(*)12. 要建立一個(gè)語句向Types表中插入數(shù)據(jù),這個(gè)表只有兩列,T_ID和T_Name列。如果要插入一行數(shù)據(jù),這一行的T_ID值是100,T_Name值是RFUIT。應(yīng)該使用的SQL語句是_。( A )A
8、. INSERT INTO Type Values(100, FRUIT)B. SELECT * FROM Type WHERE T_ID=100 AND T_NAME=FRUITC. UPDATE SET T_ID=100 FROM Types WHERE T_Name=FRUITD. DELET * FROM Types WHERE T_ID=100 AND T_Name=FRUIT13. 用_語句修改表的一行或多行數(shù)據(jù)。( A )AUpdate B.set C.Select D.Where14. 使用什么命令可以清除表中所有的內(nèi)容? ( D )AINSERT B.UPDATE C. DE
9、LETE D.TRUNCATE15.關(guān)于模式的描述下列哪一項(xiàng)不正確?( C )A表或索引等模式對象一定屬于某一個(gè)模式B在Oracle數(shù)據(jù)庫中,模式與數(shù)據(jù)庫用戶是一一對應(yīng)的C一個(gè)表可以屬于多個(gè)模式D一個(gè)模式可以擁有多個(gè)表16.唯一約束與主鍵約束的一個(gè)區(qū)別是?( D )A唯一約束的列的值不可以有重復(fù)值B唯一約束的列的值可以不是唯一的C唯一約束的列不可以為空值D唯一約束的列可以為空值17. 只能存儲(chǔ)一個(gè)值的變量是哪種變量?( B )A. 游標(biāo) B. 標(biāo)量變量 C. 游標(biāo)變量 D. 記錄變量18. 聲明%TPYE類型的變量時(shí),服務(wù)器將會(huì)做什么操作?( A )A. 為該變量檢索數(shù)據(jù)庫列的數(shù)據(jù)類型B復(fù)制一
10、個(gè)變量C檢索數(shù)據(jù)庫中的數(shù)據(jù)D為該變量檢索列的數(shù)據(jù)類型和值19.下列哪一項(xiàng)可以正確地引用該記錄變量中的一個(gè)值?( B )Arec_abc(1) B. rec_abc(1).colC. rec_abc.col D.rec_abc.first()20. 在定義游標(biāo)時(shí)使用的FOR UPDATE子句的作用是_。( C )A執(zhí)行游標(biāo) B. 執(zhí)行SQL語句的UPDATE語句C對要更新表的列進(jìn)行加鎖 D. 都不對21. 如果允許用戶對視圖進(jìn)行更新和插入操作,但是又要防止用戶將不符合視圖約束條件的記錄添加到視圖,應(yīng)當(dāng)在定義視圖時(shí)指定下列哪一個(gè)子句?( C )AWITH GRANT OPTIONB. WITH R
11、EAD ONLYC. WITH CHECK OPTIOND. WITH CHECK ONLY22. 如果想查看視圖中哪些字段是可以更新的,應(yīng)當(dāng)查詢哪一個(gè)數(shù)據(jù)字典視圖?( D )A. DBA_VIEWS B. DBA_OBJECTS C. DBA_CLU_COLUMNS D. DBA_UPDATABLE_COLUMNS23. 在下列各選項(xiàng)中,關(guān)于序列的描述哪一項(xiàng)是不正確的?( D )A. 序列是Oracle提供的用于產(chǎn)生一系列唯一數(shù)字的數(shù)據(jù)庫對象B序列并不占用實(shí)際的存儲(chǔ)空間C使用序列時(shí),需要用到序列的兩個(gè)偽列NEXTVAL與CURRVAL。其中,NEXTVAL 將返回序列生成的下一個(gè)值,而CUR
12、RVAL返回序列的當(dāng)前值D在任何時(shí)候都可以使用序列的偽列CURRVAL,以返回當(dāng)前序列值24. 在下列各選項(xiàng)中,關(guān)于同義詞的描述哪一項(xiàng)是不正確的?( B )A同義詞是數(shù)據(jù)庫對象的一個(gè)替代名,在使用同義詞時(shí),Oracle會(huì)將其翻譯為對應(yīng)的對象名稱B在創(chuàng)建同義詞時(shí),所替代的模式對象必須存在COracle中的同義詞分為公有同義詞和私有同義詞D公有同義詞在數(shù)據(jù)庫中所有的用戶都可以使用;私有同義詞由創(chuàng)建它的用戶所擁有25. 下列哪個(gè)鎖模式不屬于Oracle?( D )A. 共享鎖 B.排他鎖 C. 行級共享鎖 D. 死鎖26. 想在另一個(gè)模式中創(chuàng)建表,用戶最少應(yīng)該具有什么系統(tǒng)權(quán)限?( B )ACREAT
13、E TABLE B. CREATE ANY TABLE C. RESOURCE D. DBA27. 如果要啟用所有角色,則應(yīng)該使用哪一個(gè)命令?( B )ASET ROLE ALL B. SET ROLE ENABLE ALL C. ALTER SESSION ALL D.ALTER USER ROLE ALL28. 下列哪一個(gè)操作可以用來為一個(gè)備份操作手動(dòng)分配通道?( A )AALLOCATE CHANNEL B. CREATE CHANNEL C. CHANNEL ALLOCATED. CREATE LINK29. 下列哪一個(gè)命令用來顯示RMAN通道的配置信息?( C )A. LIST B.
14、 DISPLAY C.SHOW D.都可以30. 下列哪一個(gè)命令可以用來執(zhí)行不完全恢復(fù)?( B )A. RESTORE DATABASE UNTILB. RECOVER DATABASE UNTILC. RECOVER DATA UNTILD. RESTORE DATA UNTIL三、簡答題1. 說明數(shù)據(jù)庫模式與用戶之間的區(qū)別。答案:數(shù)據(jù)庫模式與用戶之間的區(qū)別在于:用戶是數(shù)據(jù)庫的使用者和管理者,用戶具有帳戶狀態(tài)、訪問權(quán)限和操作權(quán)限等屬性。模式是一系列邏輯數(shù)據(jù)結(jié)構(gòu)或?qū)ο蟮募希菙?shù)據(jù)庫中對象的組織和管理單位。2. 簡要游標(biāo)的作用和游標(biāo)操作的基本步驟。答案:游標(biāo)的作用是將數(shù)據(jù)庫的中數(shù)據(jù)檢索出來后緩
15、存,可以被PL/SQL程序一行一行的讀取并處理。支持一條、多條、零條記錄的處理。游標(biāo)的基本操作步驟為: (1)聲明游標(biāo),使用查詢來定義游標(biāo)的列和行(2)打開游標(biāo),使用PL/SQL命令OPEN來打開一個(gè)聲明的游標(biāo)(3)提取數(shù)據(jù),從游標(biāo)中重復(fù)提取每條記錄到數(shù)據(jù)結(jié)構(gòu)中,直到數(shù)據(jù)集合被提交(4)關(guān)閉游標(biāo),使用完游標(biāo)后將其關(guān)閉3Oracle數(shù)據(jù)庫的工作模式有哪兩種?它們之間有有何區(qū)別?答案:在Oracle數(shù)據(jù)庫中,數(shù)據(jù)庫的操作模式分為專用服務(wù)器(DELICATED SERVER)模式和多線程服務(wù)器(MULTITHREADED SERVER)模式兩種。其中,在專用服務(wù)器模式中為每個(gè)用戶進(jìn)程創(chuàng)建一個(gè)服務(wù)器進(jìn)
16、程,用戶進(jìn)程與服務(wù)器進(jìn)程之間是1:1的關(guān)系;在共享服務(wù)器模式中,一個(gè)服務(wù)器進(jìn)程可以為多個(gè)用戶進(jìn)程服務(wù)器。4.說明數(shù)據(jù)庫內(nèi)存結(jié)構(gòu)中SGA和PGA的組成,以及這兩個(gè)內(nèi)存區(qū)存放信息的區(qū)別。答案:SGA區(qū)由數(shù)據(jù)緩沖區(qū)、共享池、重做日志緩沖區(qū)、大型池、JAVA池構(gòu)成;PGA區(qū)由排序區(qū)、私有SQL區(qū)以及堆棧構(gòu)成。SGA區(qū)是由Oracle分配的共享內(nèi)存結(jié)構(gòu),包含一個(gè)數(shù)據(jù)庫實(shí)例共享的數(shù)據(jù)和控制信息。當(dāng)多個(gè)用戶同時(shí)連接同一個(gè)實(shí)例時(shí),SGA區(qū)數(shù)據(jù)供多個(gè)用戶共享,所以SGA區(qū)又稱為共享全局區(qū)。用戶對數(shù)據(jù)庫的各種操作主要在SGA區(qū)中進(jìn)行。該內(nèi)存區(qū)隨數(shù)據(jù)庫實(shí)例的創(chuàng)建而分配,隨實(shí)例的終止而釋放。PGA區(qū)是在用戶進(jìn)程連接數(shù)
17、據(jù)庫,創(chuàng)建一個(gè)會(huì)話時(shí),由Oracle為用戶分配的內(nèi)存區(qū)域,保存當(dāng)前用戶私有的數(shù)據(jù)和控制信息,因此該區(qū)又稱為私有全局區(qū)。每個(gè)服務(wù)器進(jìn)程只能訪問自己的PGA區(qū),所有服務(wù)器進(jìn)程PGA區(qū)總和即為實(shí)例的PGA區(qū)的大小。5. 說明數(shù)據(jù)庫表空間的種類,以及不同類型表空間的作用。答案:數(shù)據(jù)庫表空間分為系統(tǒng)表空間和非系統(tǒng)表空間兩類,其中非系統(tǒng)表空間包括撤銷表空間、臨時(shí)表空間和用戶表空間等。SYSTEM表空間主要用于存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)字典、PL/SQL程序的源代碼和解釋代碼、數(shù)據(jù)庫對象的定義。撤銷表空間專門進(jìn)行回退信息的自動(dòng)管理。臨時(shí)表空間是專門進(jìn)行臨時(shí)段管理的表空間。用戶表空間用于分離不同應(yīng)用的數(shù)據(jù),而且能夠減少
18、讀取數(shù)據(jù)文件時(shí)產(chǎn)生的I/O沖突。6. 說明Oracle 10g數(shù)據(jù)庫文本初始化參數(shù)文件與服務(wù)器初始化參數(shù)文件的區(qū)別。答案:文本初始化參數(shù)文件是一個(gè)本地的初始化參數(shù)文件,而服務(wù)器初始化參數(shù)文件是一個(gè)放在數(shù)據(jù)庫服務(wù)器端的共享的二進(jìn)制初始化參數(shù)文件。文本參數(shù)文件的修改是通過直接對文本的修改實(shí)現(xiàn)的,通過命令行是無法將修改后的參數(shù)值寫入該文件中,而服務(wù)器初始化參數(shù)文件是不能直接修改的,必須通過ALTER SYSTEM語句來進(jìn)行參數(shù)修改的。7. 簡述PL/SQL程序結(jié)構(gòu)及各個(gè)部分的作用。答案:PL/SQL程序的基本單元是語句塊,所有的PL/SQL程序都是由語句塊構(gòu)成的,語句塊之間可以相互嵌套,每個(gè)語句塊完
19、成特定的功能。Ø 聲明部分:以關(guān)鍵字DECLARE開始,BEGIN結(jié)束。主要用于聲明變量、常量、數(shù)據(jù)類型、游標(biāo)、異常處理名稱以及本地(局部)子程序定義等。Ø 執(zhí)行部分:是PL/SQL塊的功能實(shí)現(xiàn)部分,以關(guān)鍵字BEGIN開始,EXCEPTION或END結(jié)束(如果PL/SQL塊中沒有異常處理部分,則以END結(jié)束)。該部分通過變量賦值、流程控制、數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義、事務(wù)控制、游標(biāo)處理等實(shí)現(xiàn)塊的功能。異常處理部分:以關(guān)鍵字EXCEPTION開始,END結(jié)束。該部分用于處理該塊執(zhí)行過程中產(chǎn)生的異常。8. 說明觸發(fā)器的種類和對應(yīng)的作用對象、觸發(fā)事件。答案: 觸發(fā)器包括DML觸
20、發(fā)器、INSTEAD-OF觸發(fā)器和系統(tǒng)觸發(fā)器。其中,DML觸發(fā)器主要作用于表,其事件有INSERT、UPDATE、DELETE;INSTEAD-OF觸發(fā)器主要主用于視圖,其事件有INSERT、UPDATE、DELETE;系統(tǒng)觸發(fā)器主要是DML事件和系統(tǒng)事件發(fā)生時(shí)調(diào)用的觸發(fā)器,其中DML事件包括CREATE、DROP、ALTER等,系統(tǒng)事件包括LOGON、LOGOFF、STARTUP、SHUTDOWN、SERVERERROR等。9簡述Oracle數(shù)據(jù)庫角色的種類、作用,以及如何利用角色為用戶授權(quán)。答案: Oracle數(shù)據(jù)庫中角色分為系統(tǒng)預(yù)定義的角色和用戶自定義的角色兩類。角色是一系列權(quán)限的集合,
21、可以先將權(quán)限授予角色,然后將角色授予具有相同權(quán)限的用戶。四、求解題 現(xiàn)有關(guān)系數(shù)據(jù)庫如下:S(SNO,SNAME,CITY)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)其中,S為供應(yīng)商,包含屬性的含義依次是供應(yīng)商代碼、供應(yīng)商名字、供應(yīng)商所在城市;P為零件,包含屬性的含義依次是零件代碼、零件名字、顏色、重量;J為工程項(xiàng)目,包含屬性的含義依次是工程項(xiàng)目代碼、工程項(xiàng)目名字、工程項(xiàng)目所在城市;SPJ為供貨關(guān)系,包含屬性的含義依次是供應(yīng)商代碼、零件代碼、工程項(xiàng)目代碼,某供應(yīng)商向某個(gè)項(xiàng)目供應(yīng)數(shù)量的零件數(shù)量。請用SQL語言完成如下
22、問題:(1)查詢供應(yīng)工程J1零件P1的供應(yīng)商號碼SNO(2)查詢供應(yīng)工程J1零件為紅色的供應(yīng)商號碼SNO(3)查詢沒有使用北京供應(yīng)商生產(chǎn)的紅色零件的工程號JNO五、設(shè)計(jì)題(E-圖)六、PL/SQL語言程序設(shè)計(jì)題。設(shè)學(xué)校環(huán)境如下:一個(gè)系有若干個(gè)專業(yè),每個(gè)專業(yè)一年只招一個(gè)班,每個(gè)班有若干個(gè)學(xué)生:現(xiàn)要建立關(guān)于系、學(xué)生、班級的數(shù)據(jù)庫,關(guān)系模式為:班CLASS(班號classid,專業(yè)名subject,系名deptname,入學(xué)年份enrolltime,人數(shù)num)學(xué)生STUDENT(學(xué)號studentid,姓名name,年齡age,班號classid)系DEPARTMENT(系號deptid,系名de
23、ptname)試用PL/SQL語言完成以下功能:1 建表,在定義中要求聲明:(1) 每個(gè)表的主外鍵。(2) 每個(gè)班級的人數(shù)不能超過30人。(3) 學(xué)生的年齡介于15到40歲之間。(4) 學(xué)生姓名不能為空。2 插入如下數(shù)據(jù)CLASS表classidsubjectdeptnameenrolltimenum101軟件計(jì)算機(jī)199520102微電子計(jì)算機(jī)199630111無機(jī)化學(xué)化學(xué)199529112高分子化學(xué)化學(xué)199625121統(tǒng)計(jì)數(shù)學(xué)數(shù)學(xué)199520131現(xiàn)代語言中文199620141國際貿(mào)易經(jīng)濟(jì)199730142國際金融經(jīng)濟(jì)199614STUDENT表studentidnameageclass
24、id8101張三181018102錢四161218103王玲171318105李飛191028109趙四181418110李可201428201張飛181118302周瑜161128203王亮171118305董慶191028409趙龍181018510李麗20142DEPARTMENT表deptiddeptname001數(shù)學(xué)002計(jì)算機(jī)003化學(xué)004中文005經(jīng)濟(jì)3 學(xué)校又新增加了一個(gè)物理系,編號為0064 學(xué)生張三退學(xué),請更新相關(guān)的表。1、有一張表test,有3個(gè)字段id,name,parentid。parentid是指父親的id,請寫一個(gè)sql語句,找出當(dāng)過爺爺?shù)膇d和name。2、有
25、一張學(xué)生表student,字段有student_id,name,即學(xué)號,名字。還有一張選課表,字段有student_id,lesson_id。還有一張課程表,字段lesson_id,lesson_name。學(xué)生和課程是多對多的關(guān)系。寫一個(gè)sql語句,找出所有選了全部課程的學(xué)生。3、有一張表person表,字段有id,name,age。age是年齡。寫一個(gè)sql語句,找出年齡最接近的2個(gè)人。如有下面4條記錄:1,a,182,b,203,c,254,d,26則輸出3,4emp表和dept表完成下列練習(xí)Emp員工表empnoenamejobMgrHiredateSalCommDeptno員工號員工姓
26、名工作上級編號受雇日期薪金傭金部門編號Dept表DeptnoDnameLoc部門編號部門名稱地點(diǎn)1列出至少有一個(gè)員工的所有部門。select dept_id from s_emp where userid is not null;2列出薪金比“chad”多的所有員工。select id,salary from s_emp where salary>(select salary from s_emp where first_name='Chad'); 3列出所有員工的姓名及其直接上級的姓名。select l.first_name as yuangong,e.first_na
27、me as laoban from s_emp e,s_emp l where e.manager_id=l.id(+);4列出受雇日期早于其直接上級的所有員工。select l.first_name as yuangong,e.first_name as laoban from s_emp e,s_emp l where e.manager_id=l.id(+) and l.start_date>e.start_date;5列出部門名稱和這些部門的員工信息,同時(shí)列出那些沒有員工的部門。6列出所有“CLERK”(辦事員)的姓名及其部門名稱。7列出最低薪金大于1500的各種工作。8列出在部
28、門“SALES”(銷售部)工作的員工的姓名,假定不知道銷售部的部門編號。9列出薪金高于公司平均薪金的所有員工。10列出與“SCOTT”從事相同工作的所有員工。11列出薪金等于部門30中員工的薪金的所有員工的姓名和薪金。12列出薪金高于在部門30工作的所有員工的薪金的員工姓名和薪金。13列出在每個(gè)部門工作的員工數(shù)量、平均工資和平均服務(wù)期限。14列出所有員工的姓名、部門名稱和工資。15列出從事同一種工作但屬于不同部門的員工的一種組合。16列出所有部門的詳細(xì)信息和部門人數(shù)。17列出各種工作的最低工資。18列出各個(gè)部門的MANAGER(經(jīng)理)的最低薪金。19列出所有員工的年工資,按年薪從低到高排序。原
29、文:Oracle習(xí)題二附答案 使用scott/tiger的emp表完成練習(xí)更多編程相關(guān): 答案:1.select distinct dnamefrom dept where deptno in (select distinct deptno from emp);要查部門編號如果存在于emp 表中,說明這個(gè)部門有員工。2.select enam
30、e,job,mgr,hiredate,salfrom empwhere sal> (select sal from emp where ename='SMITH');3.select e.ename, e.mgr , w.enamefrom emp e, emp w
31、where e.mgr=w.empno;4.select e.ename, e.mgr , e.hiredate,w.ename,w.hiredatefrom emp e, emp wwhere e.mgr=w.empnoand e.hiredate< w.hiredate;5.select e.ename,e.hiredate, d.dname,d.deptnofrom emp e, dept dwhere e.deptno (+)=d.deptno;本例子使用的是外連接, 也可以用右連接。select e.ename,e.hiredate, d.dname,d.deptnofrom
32、emp e right join dept d on e.deptno=d.deptno;6.select e.ename,e.hiredate,e.job, d.dname,d.deptnofrom emp e, dept dwhere e.deptno =d.deptnoand e.job=upper('clerk');7.select job, min(sal)from empgroup by jobhaving min(sal)>1500;8.select e.ename,d.dnamefrom emp e,dept d 0位粉絲 2樓where e.deptno
33、=d.deptnoand d.dname=upper('sales');或者:select enamefrom emp where deptno = (select deptno from dept where dname=upper('SALES');9.select ename, job, salfrom empwher
34、e sal> (select avg(sal) from emp );10.select ename, jobfrom empwhere job = (select job from emp &
35、#160; where ename=upper('scott');11.select ename, sal,jobfrom empwhere sal in (select sal from emp where deptno=30);1
36、2.select ename, sal,jobfrom empwhere sal >all (select sal from emp where deptno=30);或者select ename ,sal from emp where sal>
37、160; (select max(sal) from emp where deptno=30);13.select d.deptno,d.dname, count(e.ename), avg(e.sal), avg(months_between(sysdate,e.hiredate)from emp e, dept dwhere e.deptno(+)= d.deptnogroup by d.
38、deptno,dname;或者下面的方法,這種方法更好理解,把需要匯總的生成一個(gè)視圖e。select e.*,d.dname ,from (select deptno, count(ename) ,avg(sal),avg(months_between(sysdate,hiredate) from emp group by deptno) e, dept dwhere e.deptno =d.deptno;14.select d.dname, e.
39、ename, sal+nvl(comm,0)from emp e, dept dwhere d.deptno=e.deptno;15.select e.ename,e.job, e.deptno ,d.job, d.deptnofrom emp e, emp dwhere e.job=d.job and e.deptno<>d.deptno;16.select count(e.ename),d.dnamefrom emp e, dept dwhere e.deptno(+)= d.deptnogroup by e.deptno,d.dname;或者寫成select d.deptno
40、,e.*,d.dname from (select deptno,count(ename) from emp group by deptno) e,dept dwhere e.deptno(+)= d.deptno;17.select job,min(sal+nvl(comm,0)from emp group by job;18.select deptno,min(sal) from emp where job=upper('manager')group
41、by deptno ;19.select ename , (sal+nvl(comm,0)*12 yearsalfrom emporder by yearsal ;-1、列出至少有一個(gè)雇員的所有部門select distinct dname from dept where deptno in (select distinct deptno from emp);-2、列出薪金比"SMITH"多的所有雇員select ename,sal from emp where sal>(select sal from emp where enam
42、e=upper('smith');-3、列出所有雇員的姓名及其直接上級的姓名select e.ename,m.ename from emp e,emp m where e.mgr=m.empno(+);-4、列出入職日期早于其直接上級的所有雇員select ename from emp e where hiredate<(select hiredate from emp where empno=e.mgr);-5、列出部門名稱和這些部門的雇員,同時(shí)列出那些沒有雇員的部門select dname,ename from dept d left join emp e on d.
43、deptno=e.deptno;-6、列出所有“CLERK”(辦事員)的姓名及其部門名稱select ename,dname from emp e left join dept d on e.deptno=d.deptno where job=upper('clerk');-7、列出各種工作類別的最低薪金,顯示最低薪金大于1500的記錄select job,min(sal) from emp group by job having min(sal)>1500;-8、列出從事“SALES”(銷售)工作的雇員的姓名,假定不知道銷售部的部門編號select ename from
44、 emp where deptno = (select deptno from dept where dname=uppder('SALES')-9、列出薪金高于公司平均水平的所有雇員select ename from emp where sal>(select avg(sal) from emp);-10、列出與“SCOTT”從事相同工作的所有雇員select ename from emp where job=(select job from emp where ename=upper('scott');-11、列出某些雇員的姓名和薪金,條件是他們的薪金
45、等于部門30中任何一個(gè)雇員的薪金select ename,sal from emp where sal in (select sal from emp where deptno=30);-12、列出某些雇員的姓名和薪金,條件是他們的薪金高于部門30中所有雇員的薪金select ename ,sal from emp where sal>(select max(sal) from emp where deptno=30);-13、列出每個(gè)部門的信息以及該部門中雇員的數(shù)量select d.deptno,dname,count(ename) from dept d left join emp
46、e on (d.deptno=e.deptno)group by d.deptno,dname-14、列出所有雇員的雇員名稱、部門名稱和薪金Select e.ename,d.dname,e.sal from emp e left join dept d on (d.deptno=e.deptno)-15、列出從事同一種工作但屬于不同部門的雇員的不同組合Select tba.ename,tbb.ename,tba.job,tbb.job,tba.deptno,tba.deptnoFrom emp tba,emp tbbWhere tba.job=tbb.job and tba.deptno<
47、;>tbb.deptno-16、列出分配有雇員數(shù)量的所有部門的詳細(xì)信息,即使是分配有0個(gè)雇員Select dept.deptno,dname,loc,count(empno)From dept,empWhere dept.deptno=emp.deptno(+)Group by dept.deptno,dname,loc-17、列出各種類別工作的最低工資Select min(sal) from emp group by job-18、列出各個(gè)部門的MANAGER(經(jīng)理)的最低薪金Select deptno,min(sal) from emp where job=upper(manager
48、) group by deptno-19、列出按年薪排序的所有雇員的年薪select (sal+nvl(comm,0)*12 as avn from emp order by avn-20、列出薪金水平處于第四位的雇員Select * from (Select ename,sal, rank() over (order by sal desc) as grade from emp) where grade=4-1、選擇部門30中的雇員 select * from emp where deptno=30; -2、列出所有辦事員的姓名、編號和部門 select ename,empno,dname
49、from emp e inner join dept d on e.deptno = d.deptno where job=upper(clerk); -3、找出傭金高于薪金的雇員 select * from emp where comm>sal; -4、找出傭金高于薪金60%的雇員 select * from emp where comm>sal*0.6 -5、找出部門10中所有經(jīng)理和部門20中的所有辦事員的詳細(xì)資料 select * from emp where (deptno=10 and job=upper(manager) or (deptno=20 and job=upper(clerk ); -6、找出部門10中所有經(jīng)理、部門20中所有辦事員,既不是經(jīng)理又不是辦事員但其薪金>=2000的所有雇員的詳細(xì)資料 select * from emp where (deptno=10 and job=upper(manager) or (deptno=20 and job=upper(clerk ) or (job<>upper(manager) and job<>upper(c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村建筑施工合同范本
- 買賣冬蟲夏草合同范本
- 勘界測繪合同范例
- 再婚買房合同范本
- 個(gè)體簡易合同范本
- 包工安裝護(hù)欄合同范本
- 單位銷售崗位勞動(dòng)合同范本
- 俱樂部裝修合同范本
- 養(yǎng)殖合作建設(shè)合同范本
- 農(nóng)村出售豬仔合同范本
- DD 2014-11 地面沉降干涉雷達(dá)數(shù)據(jù)處理技術(shù)規(guī)程
- 咖啡與茶文化培訓(xùn)1
- 一+《展示國家工程++了解工匠貢獻(xiàn)》(教學(xué)課件)-【中職專用】高二語文精講課堂(高教版2023·職業(yè)模塊)
- DIY服裝營銷計(jì)劃書
- 全國教育科學(xué)規(guī)劃課題申報(bào)書:71.《教師在教育數(shù)字化轉(zhuǎn)型中的作用及其實(shí)現(xiàn)路徑研究》
- 非標(biāo)設(shè)備合同范本
- 訂單采購模板
- 輸電線路組成(金具、絕緣)
- 瀝青混凝土拌合站吊裝計(jì)算書
- 安全生產(chǎn)規(guī)章制度和崗位操作規(guī)程的目錄清單及內(nèi)容(無倉儲(chǔ)經(jīng)營單位)
- 餐飲合伙聯(lián)營協(xié)議書范本
評論
0/150
提交評論