26.oracleocp題庫dba經典輔助學習_第1頁
26.oracleocp題庫dba經典輔助學習_第2頁
26.oracleocp題庫dba經典輔助學習_第3頁
26.oracleocp題庫dba經典輔助學習_第4頁
26.oracleocp題庫dba經典輔助學習_第5頁
免費預覽已結束,剩余9頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、練習:Oracle Database 11g: SQL Fundamentals I使用select語句取出數(shù)據(jù)Hr用戶$ sqlplus / as sysdba alter user hr identified by hr account unlock;SELECT語句的功能和書寫使用別名 “連接字符串 SQL*Plus / iSQL*Plus的配置和使用12數(shù)據(jù)數(shù)據(jù)練習:練習:以下SELECT語句能否執(zhí)行成功:SELECT last_name, job_id, salary AS SAL FROM employees;在以下語句中有幾處代碼錯誤.你能他們嗎?SELECT employee_

2、id, last_name salary x 12 ANNUAL SALARY FROM employees;34數(shù)據(jù)數(shù)據(jù)1練習:創(chuàng)建一個查詢來顯示employees表中唯一的作業(yè)代碼job_id.Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)6練習:顯示departments表的結構并檢索所有數(shù)據(jù).數(shù)據(jù)5選擇題:Oracle Database 11g: SQL Fundamentals I約束和排序數(shù)據(jù)顯示第二個字母為A的員工的姓,哪句是正確的?A S

3、ELECT last_name FROM employeesWHERE last_name LIKE _A%; B SELECT last_nameFROM employeesWHERE last_name = *A% ;C SELECT last_name FROM employeesWHERE last_name = _A%; D SELECT last_name使用WHERE子句進行條件選取使用ORDER BY子句對結果進行排序eyees78數(shù)據(jù)數(shù)據(jù)2練習:顯示賺取傭金的所有員工的last_name, salary 和commis_pct. 顯示數(shù)據(jù)以升序和mis_pct降序排列 .Em

4、ployees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)12練習:顯示所有l(wèi)ast_name中第三個字母是A的員工的last_name.Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)11練習:顯示職員的last_name, job_id,員工的雇傭日期處于2月20日和 10月1日1993年之間.對查詢結果根據(jù)hire_date升

5、序排列.選項:在中文數(shù)據(jù)庫下設置SQL*PLUS的字符顯示,顯示漢字NLS_LANG=AMERICAN_AMERICA.ZHS16GBKNLS_LANG=SIMPLIFIED CHI_CHINA.ZHS16GBKEmployees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary數(shù)據(jù)10練習:顯示所有20號、30號部門職員的last_name 和department_id,結果根據(jù)last_name以字母順序排序 .Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工

6、資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)9選擇題:Oracle Database 11g: SQL Fundamentals I使用單行函數(shù)輸出定制結果你需要從employees表中獲取員工名字和月薪,并按月薪降序排列。如果有兩個人有相同的月薪,就按名字的字母順序排列。下面哪個語句可以實現(xiàn):描述SQL中不同類型的函數(shù),dual偽表在SELECT語句中使用字符、日期和數(shù)字型函數(shù)轉換函數(shù) TO_CHAR TO_DATE TO_NUMBER 注意中文A SELECT last_name, salary FROM employeesORDER BY last_name

7、, salary;B SELECT last_name, salary FROM employeesORDER BY salary, last_name;C SELECT last_name, salary FROM employeesSORT BY salary DESC, last_name; D SELECT last_name, salaryFROM employeesry DESC, l_name;數(shù)據(jù)13 數(shù)據(jù)14 3Oracle Database 11g: SQL Fundamentals I使用轉換函數(shù)和條件表示式轉換函數(shù) TO_CHAR TO_DATE TO_NUMBER 注

8、意中文數(shù)據(jù)18練習:寫一個查詢顯示employee的last_name(首字母大小其它字母小寫),名字長度,職員名字須以J, A, 或者 M開頭.給每個字段一個適當?shù)摹8鶕?jù)employees的last_name進行排序。Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_idate數(shù)據(jù)17練習:為每個職員,顯示employee_id,last_name,salary,New Salary : salary增加15%且進行四舍五入為整數(shù)Employees表,字段有:員工代碼 employee_id

9、last_name部門 department_id工資薪水 salary崗位作業(yè) job_idate數(shù)據(jù)16練習:書寫一個查詢來顯示系統(tǒng)當前的日期. 將此字段標志為 date數(shù)據(jù)15練習:練習:寫一個查詢輸出一個字段,產生如下的結果: earns monthly but wants .將此字段標志為Dream Salaries.工資格式化,保留2位小數(shù),顯示千份位顯示每個職員的last_name,hire_date,salary 轉正日, 此日期位于工作后六個月后的第一個一. 將此字段標志為REVIEW. 格式化此日期顯示為類似“Monday, the Thirty-of July, 2000

10、”的格式。Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date 選項: 數(shù)據(jù)庫中文設置Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary數(shù)據(jù)19 數(shù)據(jù)20 d4Oracle Database 11g: SQL Fundamentals I使用分組函數(shù)的數(shù)據(jù)分組函數(shù)AVG COUNT MAX MIN SUM運用GROUP BY 子句對數(shù)據(jù)分組使用HAVING 子句對分組行篩選數(shù)據(jù)24

11、選擇題:employee 表有三個字段: last_name VARCHAR2(35) salary NUMBER(8,2)commis_pct NUMBER(5,2)你想為所有員工顯示名字和年度工資乘上提成比例,因為 commis_pct有空值,如果為空,需要用0代替。以下哪句 SQL是能得到應有的結果?A SELECT last_name, (salary * 12) * commis_pct FROM employees;B SELECT last_name, (salary * 12) * IFNULL(commis_pct, 0)FROM employees;C SELECT las

12、t_name, (salary * 12) * NVL2(commiss on_pct, 0)es;23數(shù)據(jù)選擇題:評估下列 SQL 語句:SELECT ROUND(TRUNC(MOD(1600,10),-1),2) FROMdual;結果顯示什么?A 0B 1C 0.00D 錯誤語句數(shù)據(jù)22選擇題:哪幾句SELECT語句可以把 2000 顯示為 “$2,000.00”?A SELECT TO_CHAR(2000, $#,#.#)FROM dual;B SELECT TO_CHAR(2000, $0,000.00)FROM dual;C SELECT TO_CHAR(2000, $9,999.

13、00)FROM dual;D SELECT TO_CHAR(2000, $9,999.99)FROM dual;E SELECT TO_CHAR(2000, $2,000.00)FROM dual;F SELECT TO_CHAR(2000, $N,NNN.NN) FROM dual;數(shù)據(jù)21練習練習顯示manager_id 和此經理下屬員工的最低薪水.顯示每種崗位類型工資表:最少工資um,最大工資Minimum,合計工資Sum,平均工資Average.四舍五入你的結果到零位的整數(shù). 排除任何經理manager未知的員工.排除任何下屬員工最低薪水小于2000的經理.對輸出的最低薪水進行降序排列

14、 .Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_dateEmployees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salaryjob_id數(shù)據(jù)25數(shù)據(jù)265Oracle Database 11g: SQL Fundamentals I從多表展示數(shù)據(jù)使用連接從多表中選取數(shù)據(jù) JOIN (Croatural ) USING ON使用外連接 LEFT|RIGHT|FULL OUTER JOINWHERE t

15、able1.column(+) = table2.column使用自連接數(shù)據(jù)30選擇題:你想要顯示20和50號部門的員工平均工資,但是只包含平均工資大于2000的。以下哪1個語句可以實現(xiàn):A SELECT department_id, AVG(salary) FROM employeesWHERE department_ d IN (20, 50) GROUP BY department_idHAVING AVG(salary) =2000;B SELECT department_id, AVG(salary) FROM employeesWHERE department_ d IN (20,

16、 50)HAVING AVG(salary) =2000;C SELECT department_id, AVG(salary) FROM employeesWHERE department_ d in (20,50) AND AVG(salary)=2000partment_29數(shù)據(jù)選擇題:employees 表結構如下:employee_id NUMBER(4) NOT NULL last_name VARCHAR2(30) NOT NULL_name VARCHAR2(30)department_id NUMBER(2) job_id VARCHARD2(30) salary NUMBE

17、R(8,2)哪句SQL可以顯示在每個部門和每個工作類別的最大工資?A SELECT department_id, job_ d, MAX(salary) FROM employees WHERE salary MAX(salary);B SELECT department_id, job_ d, MAX(salary) FROM employees GROUP BY department_id, job_id;C SELECT department_id, job_id, MAX(salary) FROM數(shù)據(jù)28練習創(chuàng)建一個交叉表查詢,顯示字段:崗位job_id此崗位的總薪水部門10的此崗位合

18、計薪水部門20的此崗位合計薪水部門30的此崗位合計薪水給每個字段一個合適的標頭 .Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_idc期n 天h才t數(shù)據(jù)27練習:練習:列出所有員工報表(用SQL-99)員工部門名稱列出所有部門的員工報表(用SQL-99)員工部門名稱列出員工報表(用SQL-99)崗位地區(qū)部門代碼為20不顯示重復數(shù)據(jù)Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日

19、期 hire_dateEmployees表,字段有:員工代碼 employee_idlast_name部門代碼 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)31數(shù)據(jù)326練習要求找出在部門90沒有的崗位job_history表,字段有:員工代碼 employee_id部門 department_id崗位作業(yè) job_id數(shù)據(jù)36Oracle Database 11g: SQL Fundamentals I使用子查詢語句來解決查詢使用單行子查詢多行子查詢 IN ANY ALL數(shù)據(jù)35選擇題:m你想得到所有雇員,無論他們在部門表里是否有相應

20、的部門。你應該用哪句SQL?A SELECT last_name, department_name FROM employees , departments(+);B SELECT last_name, department_name FROM es JOIN departments (+);數(shù)據(jù)34department_idDEPARTMENT_NAMEe10nts 表里的數(shù)據(jù)salaryes20Marketing30Accounts40Administrationlast_namedepartment_idsalaryGetz 測試e10mployees 和3d00e0partDavis

21、emplo20yees1500King depa20tments2200Davis305000Kochhar5000練習顯示職員的:last_nameemployee_id他們的管理者manager的 last_name 和 manager_id.并顯示所有沒有管理者manager的職員(包含King).分別將以上字段標志為employee, employees#, Manager, 和 manager_id#.Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary數(shù)據(jù)33練習Oracle Database 11g

22、: SQL Fundamentals I使用Set操作顯示職員的employee_id, last_name, department_id 和salary職員所在部門該部門有職員中包含U字母薪水大于全公司平均薪水使用UNION,返回所有不重復的行使用UNION ALL,返回所有的行,包括重復行使用ERSECT,返回所有共有的行使用MINUS,返回所有第一查詢中的有,而第二查詢中沒有的不重復行排序:UNION ALL不會自動排序, UNION,ERSECT, MINUS命令都自動排序。在語句的最后使用ORDER BYEmployees表,字段有:員工代碼 employee_idlast_name

23、部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)3738數(shù)據(jù)7練習修改2號職員的last name 為Drexler, 檢查是否修改,然后取消,再檢查是否修改 .數(shù)據(jù)42練習運行來創(chuàng)建my_employee 表以用于后續(xù)的實驗.CREATE TABLE my_employee(id NUMBER(4) CONSTRAmy_employee_id_nn NOT NULL,last_name VARCHAR2(25),_name VARCHAR2(25),userid VARCHAR2(8), salary NUMBER(9,2);預定義

24、:PaRalph rpa895Dancs Betty bdancs 860根據(jù)預定義的數(shù)據(jù)將到my_employee 表中. 分別寫不同的SQL,在INSERT子句中不顯示字段,顯式列出字段名,并提交 .數(shù)據(jù)41Oracle Database 11g: SQL Fundamentals I操作數(shù)據(jù)INSERT向表中添加新的行UPDATE修改表中的現(xiàn)有行DELETE從表中刪除行MERGE有條件地或更新行COMMIT使所有的未決事務化SAVEPO作為回退的標記ROLLBACK恢復所有的未決事務數(shù)據(jù)40練習從員工信息表中產生部門10, 30, 和 20的job_id列表,結果使用上述部門的順序.顯示

25、job_id 和 department_id,使用集合操作符.Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)39練習選擇題:從my_employee表中刪除Betty Dancs,并提交.以下哪些情況會對未完成的事務進行提交 ?A 輸入COMMIT命令B 正常退出SQL*PlusC 執(zhí)行CREATE INDEX 命令D 執(zhí)行TRUNCATE TABLE 命令E 執(zhí)行DELETE * FROM TABLENAME 命令數(shù)據(jù)43數(shù)據(jù)448Oracle Dat

26、abase 11g: SQL Fundamentals I使用DDL語句創(chuàng)建和管理表CREATE TABLE 建表ALTER TABLE 修改表結構DROP TABLE 丟棄表的結構和數(shù)據(jù)RENAME 修改對象名TRUNCATE 刪除表中的所有行,空間COMMENT 為表或視圖添加注釋數(shù)據(jù)48選擇題:Employees :employee_id NUMBrimary Key_name VARCHAR2(25)last_name VARCHAR2(25) hire_date DATENew_employees:employee_id NUMBrimary Key NAME VARCHAR2(60

27、)對于Employees和New_Employees兩張表,哪句MERGE是正確的?A MERGE_employees c USING employees e ON (c.employee_id= e.employee_id) WHEN MATCHED THEN UPDATE SET C.name =e._name |,| e.last_name WHEN NOT MATCHED THEN INSERT VALUES (e employee_id, e._name |, | e.last_name);B MERGE new_employees c USING employees e ON (c

28、 employee_id = e.employee_id) WHEN EXISTS THEN UPDATE SET =e._name |,| e.last_name WHEN NOT MATCHED THEN INSERT VALUES (e employee_id, e._name |, |e last_name);C MERGE_employees c USING employees e ON (c employee_ide天ye才eWHEN EXISHEN UPDATE SEe數(shù)據(jù)47選擇題:向一個已經存在employees表中加入 PHONE_NUMBER 字 段。emp

29、loyees已經存在100個員工。現(xiàn)在要為這些員工加入號碼。一些員工可能沒有號碼。哪個數(shù)據(jù)操作是正確 的?A MERGE B INSERT C UPDATE D ADD E ENTERF 在一個現(xiàn)存的中你不能加入號碼。數(shù)據(jù)46選擇題:哪些是 DML 語句?A COMMIT B MERGE C UPDATE D DELETE E CREATE F DROP G TRUNCATE 數(shù)據(jù)45練習練習根據(jù)以下圖表創(chuàng)建DEP表 執(zhí)行此修改DEP表以允許50位長的name.確定你的修改 .從departments表中將數(shù)據(jù)導入到點DEP表.只包含你需要的字段。來創(chuàng)建表 Id number(7) depar

30、tment_id Name varchar2(50) department_name確定DEP表的信息都在數(shù)據(jù)字典中 . . 數(shù)據(jù)49數(shù)據(jù)509選擇題:你想要從STUDENT表中地清除數(shù)據(jù),但是想要保留該表的結構。以下哪1個語句可以實現(xiàn)?A DROP TABLE student;B TRUNCATE TABLE student;C DELETE * FROM student;D TRUNCATE TABLE student KEEP STRUCTURE;E DELETE FROM student KEEP STRUCTURE;數(shù)據(jù)54練習在emp表中, 標志department_id字段為UN

31、USED.檢查表描述來確定你的修改.從emp表中刪除所有UNUSED字段.檢查表描述來確定你的修改.數(shù)據(jù)53練習根據(jù)employees表的結構創(chuàng)建emp表.僅包含employee_id, last_name, salary, 和department_id字段.在你的新表命名這些字段名為ID, NAME, salary , 和department_id.Employees表,字段有:員工代碼 employee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)52練習根據(jù)dep表的結構創(chuàng)建dep2表.然后再刪除表de

32、p2.數(shù)據(jù)51選擇題:Oracle Database 11g: SQL Fundamentals I創(chuàng)建其他的目標對象哪句 CREATE TABLE是正確的?A CREATE TABLE employee9$# AS (employee_id number(2);B CREATE TABLE employee*123 AS (employee_id number(2);C CREATE TABLE PACKAGE AS (packid number(2); D CREATE TABLE 1employee_TEST AS (employee_ d number(2);使用約束使用視圖 VIEW

33、使用序列自動產生序列值 SEQUENCE創(chuàng)建索于提高查詢速度使用同義詞為對象創(chuàng)建別名 SYNONYM5556數(shù)據(jù)數(shù)據(jù)練習練習在DEP表的ID字段上添加一個表級主鍵約束. 在創(chuàng)建時將此主鍵約束命名為my_department_id_pk.添加一個字段到emp表中.在emp表中添加一個外鍵約束以確保職員不會分配到一個不存在的部門.將此約束命名為my_emp_department_id_fk .數(shù)據(jù)57數(shù)據(jù)5810選擇題:以下關于Oracle數(shù)據(jù)庫約束的說法,正確的是 ?A 一個表可以有多個主鍵(PRIMARY KEY)約束B 一個表只能有一個主鍵(PRIMARY KEY)約束C 主鍵約束相當于非空

34、約束加上檢查約束D 主鍵約束相當于非空約束加上唯一性約束數(shù)據(jù)60練習修改emp表.添加一個NUMBER數(shù)據(jù)類型的字段commis_pct, preci2, scale 2.添加一個約束在commis_pcti字段上,確保 commis_pct=0數(shù)據(jù)59選擇題:選擇題:哪些約束會自動創(chuàng)建unique index?哪些約束是對的?A UNIQUE約束的列不允許NULL值.B UNIQUE索引會為PRIMARY KEY和UNIQUE約束列創(chuàng)建.C PRIMARY KEY 和 FOREIGN KEY 約束會創(chuàng)建UNIQUE索引.D NOT NULL約束的列不允許null值出現(xiàn).A NOT NULL

35、B PRIMARY KEY C FOREIGN KEY D CHECKE UNIQUE61數(shù)據(jù)62數(shù)據(jù)11練習從USER_VIEWS數(shù)據(jù)字典視圖中查詢視圖名和文本. 注意: 為看到LONG字段的 內容, 使用 iSQL*Plus 命令 SET LONG n, 這里n是你想看到的LONG型字段的字符個數(shù)的值.數(shù)據(jù)66練習顯示emp_VU視圖的內容 .數(shù)據(jù)65練習創(chuàng)建一個視圖emp_VU,基于employees表的字段employee_id, last_names, 和department_id.改變last_name的標頭名為employee.Employees表,字段有:員工代碼 employ

36、ee_idlast_name部門 department_id工資薪水 salary崗位作業(yè) job_id錄用日期 hire_date數(shù)據(jù)64選擇題:哪些是正確的 Oracle 約束類型?A CASCADE B UNIQUEC NONUNIQUE D CHECKE PRIMARY KEY F CONSTANT G NOT NULL數(shù)據(jù)63練習練習創(chuàng)建一個視圖dept20包含部門20的employee_id, last_names, 和depno.標志視圖字段為employee_id, name, 和department_id.不允許通過此視圖將職員分配到另一個部門.顯示departments20

37、視圖的結構和內容.嘗試將dept20中的SMITH重新分配到部門10.嘗試將SMITH名字改為Smith, 并檢查employees表中的原始數(shù)據(jù)數(shù)據(jù)6768數(shù)據(jù)選擇題:STUDENTS表結構如下:STUDENT_ID NUMBER NOT NULL, Primary Key STUDENT_NAME VARCHAR2(30)COURSE_ID VARCHAR2(10) NOT NULL MARKS NUMBERSTART_DATE DATE FINISH_DATE DATE你需要建一個,在1999年內完成的10個學生。哪句SQL能夠完成這個要求?SQL課程并得到最高分A SELECT stu

38、dent_ id, marks, ROWNUM R FROM students WHERE ROWNUM SELECT student_id, marks, ROWID R FROMstudents WHERE ROWID CREATE VIEW emp_vu AECT employee_id, employees_name, department_id FROM employees WHERE manager_id_id IN (102, 120);B CREATE VIEW emp_vu AECT employee_id, employees_name, job_id, department_id FROM employees WHERE manager_id_id IN (102, 120);C CREATE VIEW emp_vu AECT department_id, SUM(salary) TOTALSAL FROM employees WHERE manager_id_id IN (102, 120) GROUP BY department_id;D CREATE VIEW emp_vu AECT employee_id, employees_name, job_id, DISTINCT department_

溫馨提示

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

評論

0/150

提交評論