Oracle數(shù)據(jù)庫PL SQL開發(fā)、Oracle-SQL開發(fā)習題答案

第2章 編寫簡單的查詢語句

練習1
1.使用兩種方式查詢所有員工(EMP)信息。
2.查詢(EMP)員工編號、員工姓名、員工職位、員工月薪、工作部門編號。

練習2
1.員工轉(zhuǎn)正后,月薪上調(diào)20%,請查詢出所有員工轉(zhuǎn)正后的月薪。
2.員工試用期6個月,轉(zhuǎn)正后月薪上調(diào)20%,請查詢出所有員工工作第一年的年薪所得(不考慮獎金部分,年薪的試用期6個月的月薪+轉(zhuǎn)正后6個月的月薪)

練習3
1.員工試用期6個月,轉(zhuǎn)正后月薪上調(diào)20%,請查詢出所有員工工作一年的所有收入(需考慮獎金部分),要求顯示列標題為員工姓名,工資收入,獎金收入,總收入。

練習4
1.員工試用期6個月,轉(zhuǎn)正后月薪上調(diào)20%,請查詢出所有員工工作第一年的所有收入(需考慮獎金部分),要求顯示格式為:XXX的第一年總收入為XXX。
2.查詢員工表中一共有哪幾種崗位類型。
課后作業(yè)
1.分別選擇員工表、部門表、薪資等級表中的所有數(shù)據(jù)
2.分別查看員工表、部門表、薪資等級表結(jié)構(gòu)。

第3章 限制數(shù)據(jù)和對數(shù)據(jù)排序

練習1
1.查詢職位為SALESMAN的員工編號、職位、入職日期。
2.查詢1985年12月31日之前入職的員工姓名及入職日期。
3.查詢部門標號不在10部門的員工姓名、部門編號。

練習2
1.查詢?nèi)肼毴掌谠?2年至85年員工姓名,入職日期。
2.查詢月薪在3000到5000的員工姓名,月薪。
3.查詢部門編號為10或者20的員工姓名,部門編號。
4.查詢經(jīng)理編號為7709,7566,7788的員工姓名,經(jīng)理編號。

練習3
1.查詢員工姓名以W開頭的員工姓名。
2.查詢員工姓名倒數(shù)第2個字符為T的員工姓名。
3.查詢獎金為空的員工姓名,獎金。

練習4
1.查詢工資超過2000并且職位是WANAGER,或者職位是SALESMAN的員工姓名、職位、工資。
2 .查詢工資超過2000并且職位是WANAGER或SALESMAN的員工姓名、職位、工資。
3.查詢部門在10或者20,并且工資在3000到5000之間的員工姓名、部門、工資。
4.查詢?nèi)肼毴掌谠?1年,并且職位不是SALES開頭的員工姓名、入職日期、職位。
5.查詢職位為SALESMAN或MANAGER,部門編號為10或者20,姓名包含A的員工姓名、職位、部門編號。

練習5
1.查詢部門在20或30的員工姓名,部門編號,并按照工資升序排序。
2.查詢工資在2000-3000之間,部門不在10號的員工姓名,部門編號,工資,并按照部門升序,工資降序排序。
3.查詢?nèi)肼毴掌谠?2年至83年之間,職位以SALES或者MAN開頭的員工姓名,入職日期,職位,并按照入職日期降序排序。

課后作業(yè)
1.查詢?nèi)肼殨r間在1982-7-9之后,并且不從事SALESMAN工作的員工姓名、入職時間、職位。
2.查詢員工姓名的第三個字母是a的員工姓名。
3.查詢除了10、20號部門以外的員工姓名、部門編號。
4.查詢部門號為30號員工的信息,先按工資降序排序,再按姓名升序排序。
5.查詢沒有上級的員工(經(jīng)理號為空)的員工姓名。
6.查詢工資大于等于4500并且部門為10或者20的員工的姓名,工資,部門編號。

第4章 單行函數(shù)

練習1
1.寫一個查詢,用首字母大寫,其他字母小寫顯示雇員的ename,顯示名字的長度,并給每列一個適當?shù)臉撕灒瑮l件是滿足所有雇員名字的開始字母是J、A或M的雇員,并對查詢結(jié)果按雇員的ename升序排序。(提示:使用initcap、length、substr)

練習2
1.查詢員工姓名中包含大寫或小寫字母A的員工姓名。
2.查詢部門編號為10或20,入職日期在81年5月1日之后,并且姓名中包含大寫字母A的員工姓名,員工姓名長度。(提示:要求使用INSTR函數(shù))
3.查詢每個職工的編號,姓名,工資
-要求將查詢到的數(shù)據(jù)按照一定的格式合并成一個字符串
-前10位:編號,不足部分用填充,左對齊
-中間10位:姓名,不足部分用
填充,左對齊
-后10位:工資,不足部分用*填充,右對齊

練習3
1.寫一個查詢,分別計算100.456四舍五入到小數(shù)點后第2位,第1位,整數(shù)位的值。
2.寫一個查詢,分別計算100.456從小數(shù)點后第2位,第1位,整數(shù)位截斷的值。

練習4
1.查詢每個員工截止到現(xiàn)在一共入職多少天?
2.當前日期為2015年,指定日期格式DD-MON-RR,指定日期為01-1月-01,該日期實際所代表的日期為?

  1. 當前日期為2015年,指定日期格式DD-MON-RR,指定日期為01-1月-95,該日期實際所代表的日期為?
    4.當前日期為1998年,指定日期格式DD-MON-RR,指定日期為01-1月-01,該日期實際所代表的日期為?
    5.當前日期為1998年,指定日期格式DD-MON-RR,指定日期為01-1月-95,該日期實際所代表的日期為?
    6.當前日期為1998年,指定日期格式DD-MON-YY,指定日期為01-1月-01,該日期實際所代表的日期為?
    7.當前日期為1998年,指定日期格式DD-MON-YY,指定日期為01-1月-95,該日期實際所代表的日期為?

練習5
1.查詢服務(wù)器當前時間。
2.查詢部門10,20的員工截止到2000年1月1日,工作了多少個月,入職的月份。(使用months_between, extract)
3.如果員工使用期6個月,查詢職位不是MANAGER員工姓名,入職日期,轉(zhuǎn)正日期,入職日期后的第一個星期一,入職當前月的最后一天日期。(使用add_months, next_day, last_day)

練習6
1.顯示服務(wù)器系統(tǒng)當前時間,格式為2007-10-12 17:11:11。(用to_char函數(shù))
2.顯示ename,hiredate和雇員開始工作日是星期幾,列標簽DAY。(用to_char函數(shù))
3.查詢員工姓名,工資,格式化的工資(¥999,999.99)。(用to_char函數(shù))
4.把字符串2015-3月-18 13:13:13轉(zhuǎn)換成日期格式,并計算和系統(tǒng)當前時間間隔多少天。(用to_char函數(shù))

課后作業(yè)
1.計算2000年1月1日到現(xiàn)在又多少月,多少周(四舍五入)。
2.查詢員工ename的第三個字母是A的員工信息(使用兩個函數(shù))。
3.使用trim函數(shù)將字符串‘hello’,‘Hello’,‘bllb’,‘hello’分別處理得以下字符串ello、Hello、ll、hello。
4.將員工工資按如下格式顯示:123,234.00 RMB。
5.查詢員工的姓名及其經(jīng)理編號,要求對于沒有經(jīng)理的顯示“No Manager”字符串。
6.將員工的參加工作日期按照如此啊格式顯示:月份/年份
7.在員工表中查詢除員工的工資,并計算應(yīng)交稅款:如果工資小于1000,稅率為0,如果工資大于等于1000并小于2000,稅率為10%,如果工資大于等于2000并小于3000,稅率為15%,如果工資大于等于3000,稅率為20%。
8.創(chuàng)建一個查詢顯示所有雇員的ename和sal。格式化sal圍毆15個字符長度,用$左填充,列標簽SALARY。

第5章 多表連接

練習1
1.寫一個查詢,顯示所有員工姓名,部門編號,部門姓名。
2.寫一個查詢,顯示所有工作在CHICAGO并且獎金不為空的員工姓名,工作地點,獎金。
3.寫一個查詢,顯示所有姓名中含有A字符的員工姓名,工作地點。

練習2
1.查詢每個員工的編號,姓名,工資,工資等級,所在工作城市,按照工資等級進行升序排序。

練習3
1.查詢所有工作在NEW YORK和CHICAGO的員工姓名,員工編號,以及他們的經(jīng)理姓名,經(jīng)理編號。
2.在上一題的基礎(chǔ)上,添加沒有經(jīng)理的員工King,并按照員工編號排序。
3.查詢所有員工編號,姓名,部門名稱,包括沒有部門的員工也要顯示出來。

練習4
使用SQL-99寫法,完成如下練習
1.創(chuàng)建一個員工表和部門表的交叉連接。
2.使用自然連接,顯示入職日期在80年5月1日之后的員工姓名,部門名稱,入職日期。
3.使用USING子句,顯示工作在CHICAGO的員工姓名,部門名稱,工作地點。
4.使用ON子句,顯示工作在CHICAGO的員工姓名,本門名稱,工作地點,薪資等級。
5.使用左連接,查詢每個員工的姓名,經(jīng)理姓名,沒有經(jīng)理的King也要顯示出來。
6.使用右外連接,查詢每個員工的姓名,經(jīng)理姓名,沒有經(jīng)理的King也要顯示出來。

課后作業(yè)
1.顯示員工SMITH的姓名,部門名稱,直接上級名稱。
2.顯示員工姓名,部門名稱,工資,工資級別,要求工資級別大于4級。
3.顯示員工KING和FORD管理的員工姓名及其經(jīng)理姓名。
4.顯示員工姓名,參加工作時間,經(jīng)理名,參加工作時間,要求參加時間比經(jīng)理早。

第6章 分組函數(shù)

練習1
1.查詢部門20的員工,每月的工資總和及平均工資。
2.查詢工作在CHICAGO的員工人數(shù),最高工資及最低工資。
3.查詢員工表中一共有幾種崗位類型。

練習2
1.查詢每個部門的部門編號,部門名稱,部門人數(shù),最高工資,最低工資,工資總和,平均工資。
2.查詢每個部門,每個崗位的部門編號,部門名稱,崗位名稱,部門人數(shù),最高工資,最低工資,工資總和,平均工資。
3.查詢每個經(jīng)理所管理的人數(shù),經(jīng)理編號,經(jīng)理姓名,要求包括沒有經(jīng)理的人員信息。

練習3
1.查詢部門人數(shù)大于2的部門編號,部門名稱,部門人數(shù)。
2.查詢部門平均工資大于2000,且人數(shù)大于2的部門編號,部門名稱,部門人數(shù),
部門平均工資,并按照部門人數(shù)升序排序。
課后作業(yè)
1.查詢部門平均工資在2500元以上的部門名稱及平均工資。
2.查詢員工崗位中不是以“SA”開頭并且平均工資在2500員以上的崗位及平均工資,并按平均工資降序排序。
3.查詢部門人數(shù)在2人以上的部門名稱,最低工資,最高工資,并對要求的工資進行四舍五入到整數(shù)位。
4.查詢崗位不為SALESMSMAN,工資和大于等于2500的崗位及每種崗位的工資和。
5.顯示經(jīng)理編號和經(jīng)理姓名,這個經(jīng)理所管理員工的最低工資,沒有經(jīng)理的KING也要顯示,不包括最低工資小于3000的,按最低工資由高到低排序。
6.寫一個查詢,顯示每個部門最高工資和最低工資的差額。

第7章 子查詢

練習1
1.查詢?nèi)肼毴掌谧钤绲膯T工姓名,入職日期。
2.查詢工資比SMITH工資高并且工作地點在CHICAGO的員工姓名,工資,部門名稱。
3.查詢?nèi)肼毴掌诒?0部門入職日期最早的員工還早的員工姓名,入職日期。
4.查詢部門人數(shù)大于所有部門平均人數(shù)的部門編號,部門名稱,部門人數(shù)。

練習2
1.查詢?nèi)肼毴掌诒?0部門任意一個員工晚的員工姓名,入職日期,不包括10部門員工。
2.查詢?nèi)肼毴掌诒?0部門所有員工晚的員工姓名,入職日期,不包括10部門員工。
3.查詢職位和10部門人員一個員工職位相同的員工姓名,職位,不包括10部門員工。

練習3
1.查詢職位及經(jīng)理和10部門任意一個員工職位及經(jīng)理相同的員工姓名,職位,不包括10部門員工。
2.查詢職位及經(jīng)理和10部門任意一個員工職位或經(jīng)理相同的員工姓名,職位,不包括10部門員工。

練習4
1.查詢比自己職位平均工資高的員姓名,職位,部門名稱,職位平均工資。
2.查詢職位和經(jīng)理同員工SCOTT或BLAKE完全相同的員工姓名,職位,不包括SCOTT和BLAKE本人。
3.查詢不是經(jīng)理的員工姓名。

練習5
1.查詢?nèi)肼毴掌谧钤绲那?名員姓名,入職日期。
2.查詢工作在CHICAGO并且入職日期最早的前2名員工姓名,入職日期。

練習6
1.按照每頁顯示5條記錄,分別查詢第1頁,第2頁,第3頁信息,要求顯示員工姓名,入職日期,部門名稱。

練習7
1.按照每頁顯示5條記錄,分別查詢工資最高的第1頁,第2頁,第3頁信息,要求顯示員工姓名,入職日期,部門名稱,工資。

課后作業(yè)
1.查詢工資高于編號為7782的員工工資,并且和7369號員工從事相同工作的員工的編號,姓名及工資。
2.查詢工資最高的員工姓名和工資。

  1. 查詢部門最低工資高于10號部門最低工資的部門的編號、名稱及部門最低工資。
    4.查詢員工工資為其部門最低工資的員工的編號和姓名及工資。
    5.顯示經(jīng)理是KING的員工姓名,工資。
    6.顯示比員工SMITH參加工作時間晚的員工姓名,工資,參加工作時間。
    7.使用子查詢的方式查詢哪些職員在NEW YORK工作。
    8.寫一個查詢顯示和員工SMITH工作在同一個部門的員工姓名,雇用日期,查詢結(jié)果中排除SMITH。
    9.寫一個查詢顯示其工資比全體職員平均工資高的員工編號、姓名。
    10.寫一個查詢顯示其上級領(lǐng)導是King的員工姓名、工資。
    11.顯示所有工作在RESEARCH部門的員工姓名,職位。
    12.查詢每個部門的部門編號、平均工資,要求部門的平均工資高于部門20的平均工資。
    13.查詢大于自己部門平均工資的員工姓名,工資,所在部門平均工資,高于部門平均工資的額度。
    14.列出至少有一個雇員的所有部門。
    15.列出薪金比"SMITH"多的所有雇員。
    16.列出入職日期早于其直接上級的所有雇員。
    17.找員工姓名和直接上級的名字。
    18.顯示部門名稱和人數(shù)。
    19.顯示每個部門的最高工資的員工。
    20.顯示出和員工號7369部門相同的員工姓名,工資。
    21.顯示出和姓名中包含"W"的員工相同部門的員工姓名。
    22.顯示出工資大于平均工資的員工姓名,工資。
    23.顯示出工資大于本部門平均工資的員工姓名,工資。
    24.顯示每位經(jīng)理管理員工的最低工資,及最低工資者的姓名。
    25.顯示比工資最高的員工參加工作時間晚的員工姓名,參加工作時間
    26.顯示出平均工資最高的的部門平均工資及部門名稱

第8章 集合運算

練習1
1.分別使用聯(lián)合運算及完全聯(lián)合運算完成,按照時間升序順序,查詢員工7839的工作崗位列表。
2.使用多表連接,查詢每個部門的部門編號,部門人數(shù),沒有人數(shù)的部門顯示0。
3.使用聯(lián)合運算,查詢每個部門的部門編號,部門人數(shù),沒有人數(shù)的部門顯示0。
4.使用聯(lián)合運算,查詢10號部門及20號部門的員工姓名,部門編號。

  1. 使用集合運算,輸出如下效果?
    部門 工作地點 員工姓名 入職日期
    10 NEW YORK
    10 CLARK 1981/6/9
    10 KING 1981/11/17
    10 MILLER 1982/1/23
    20 DALLAS
    20 ADAMS 1987/5/23
    20 FORD 1981/12/3
    20 JONES 1981/4/2
    20 SCOTT 1987/4/19
    20 SMITH 1980/12/17
    30 CHICAGO
    30 ALLEN 1981/2/20
    30 BLAKE 1981/5/1
    30 JAMES 1981/12/3
    30 MARTIN 1981/9/28
    30 TURNER 1981/9/8
    30 WARD 1981/2/22
    40 BOSTON
    課后作業(yè)
    1.用集合運算,列出不包含job為SALESMAN的部門的部門號。
    2.寫一個聯(lián)合查詢,列出下面的信息:
    EMP表中所有雇員的名字和部門編號,不管他們是否屬于任何部門。
    DEPT表中的所有部門編號和部門名稱,不管他們是否有員工。
    3.用集合運算查詢出職位為SALESMAN和部門編號為10的
    人員編號、姓名、職位,不排除重復結(jié)果。
    4.用集合查詢出部門為10和20的所有人員編號、姓名、所在部門名稱。

第9章 高級子查詢

練習1
如下練習,使用相關(guān)子查詢完成
1.查詢比所在職位平均工資高的員工姓名,職位
2.查詢工資為其部門最低工資的員工編號,姓名 ,工資。

練習2
如下練習,用相關(guān)子查詢完成
1.查詢所有雇員編號,名字和部門名字。
2.查詢哪些員工是經(jīng)理?
3.查詢哪些員工不是經(jīng)理?
4.查詢每個部門工資最低的兩個員工編號,姓名,工資。

練習3
如下練習,用exists或not exists完成
1.列出至少有一個雇員的所有部門名稱。
2.列出一個雇員都沒有的所有部門名稱。

課后作業(yè) :
如下練習,使用相關(guān)子查詢完成。
1.查詢薪水多于他所在部門平均薪水的雇員名字 ,部門號。
2.查詢員工姓名和直接上級的名字。
3.查詢每個部門工資最高的員工姓名,工資。
4.查詢每個部門工資前兩名高的員工姓名,工資。

第10章 層次查詢

課后作業(yè)
1.產(chǎn)生一個報告顯示 BLAKE的所有下級(包括直接和間接下級)雇員的名字、薪水和部門號。
2.創(chuàng)建一個報告顯示對于雇員 SMITH 經(jīng)理的層次,包括級別和姓名,首先顯示他的直接經(jīng)理。
3.創(chuàng)建一個縮進報告顯示經(jīng)理層次,從名字為 KING的雇員開始,顯示雇員的名字、經(jīng)理ID和部門ID。
4.產(chǎn)生一個公司組織圖表顯示經(jīng)理層次。從最頂級的人開始,排除所有job為CLERK的人,還要排除FORD和那些對FORD報告的雇員。

第11章 數(shù)據(jù)操作與事務(wù)控制

練習1
1.向部門表新增一個部門,部門編號為50,部門名稱為HR,工作地點為SY。
2.向部門表新增一個部門,部門編號為60,部門名稱為MARKET。

練習2
1.向員工表中新增一個員工,員工編號為8888,姓名為BOB,崗位為CLERK,經(jīng)理為號7788,入職日期為1985-03-03,薪資3000,獎金和部門為空。

練習3
1.使用CREATE TABLE emp_back as
SELECT * FROM EMP WHERE 1=0,創(chuàng)建 emp_back表,拷貝下來即可。
CREATE TABLE emp_back
as
SELECT *
FROM EMP
WHERE 1=0;
2.把emp表中入職日期大于1982年1月1日之前的員 工信息復制到emp_back表中。
INSERT INTO emp_back
SELECT *
FROM emp
WHERE hiredate>='01-1月-82';

練習4
1.修改部門20的員工信息,把82年之后入職的員工入職日期向后調(diào)整10天
2.修改獎金為null的員工,獎金設(shè)置為0
3.修改工作地點在NEW YORK或CHICAGO的員工工資,工資增加500

練習5
1.重復做一下剛才的案例。

練習6
1.刪除經(jīng)理編號為7566的員工記錄
2.刪除工作在NEW YORK的員工記錄
3.刪除工資大于所在部門平均工資的員工記錄

練習7
分析如下語句序列,哪些語句會結(jié)束事務(wù)?

練習8
1.test表為空表,分析如下語句操作后,最后test表的狀態(tài)。

課后作業(yè)
1.使用如下語句,創(chuàng)建學生表student和班級表class
create table student ( --學生表
xh char(4),--學號
xm varchar2(10),--姓名
sex char(2),--性別
birthday date,--出生日期
sal number(7,2), --獎學金
studentcid number(2) --學生班級號
)
Create table class ( --班級表
classid number(2), --班級編號
cname varchar2(20),--班級名稱
ccount number(3) --班級人數(shù)
)
2.基于上述學生表和班級表,完成如下問題
(1)添加三個班級信息為:1,JAVA1班,null
2,JAVA2班,null
3,JAVA3班,null
(2)添加學生信息如下:‘A001’,‘張三’,‘男’,‘01-5月05’,100,1
(3)添加學生信息如下:'A002','MIKE','男','1905-05-06',10
(4)插入部分學生信息: 'A003','JOHN','女’
(5)將A001學生性別修改為'女‘
(6)將A001學生信息修改如下:性別為男,生日設(shè)置為1980-04-01
(7)將生日為空的學生班級修改為Java3班
(8)請使用一條SQL語句,使用子查詢,更新班級表中每個班級的人數(shù)
字段
3.使用如下語句,建立以下表
CREATE TABLE copy_emp (
empno number(4),
ename varchar2(20),
hiredate date default sysdate ,
deptno number(2),
sal number(8,2))
4.在第三題表的基礎(chǔ)上,完成下列問題
(1)在表copy_emp中插入數(shù)據(jù),要求sal字段插入空值,部門號50
,參加工作時間為2000年1月1日,其他字段隨意
(2)在表copy_emp中插入數(shù)據(jù),要求把emp表中部門號為10號部門
的員工信息插入
(3)修改copy_emp表中數(shù)據(jù),要求10號部門所有員工漲20%的工資
(4)修改copy_emp表中sal為空的記錄,工資修改為平均工資
(5)把工資為平均工資的員工,工資修改為空
(6)另外打開窗口2查看以上修改
(7)執(zhí)行commit,窗口2中再次查看以上信息
(8)刪除工資為空的員工信息
(9)執(zhí)行rollback

第13章 創(chuàng)建和維護表

練習1
1.學校想做一個選課系統(tǒng),其中涉及到課程表,學生表,請分別創(chuàng)建這兩個表,自己思考表中應(yīng)有的列及數(shù)據(jù)類型。

練習2
1.通過子查詢的方式創(chuàng)建一個表dept10,該表保存10號部門的員工數(shù)據(jù)。

練習3
1.在員工表中添加一個性別列,列名為gender,類型為char(2),默認值為“男”
2.修改員工表中性別列的數(shù)據(jù)類型為char(4)
3.修改員工表中性別列的默認值為“女”
4.刪除員工表中的性別列

課后作業(yè)
1.請分析按照以下要求都需要建立什么類型的字段?
–(1)最大2000個字節(jié)定長字符串
–(2)如果輸入‘張三’ 后添空格6個
–(3)性別輸入'男'或'女’
–(4)最大4000個字節(jié)變長字符串
–(5)如果在數(shù)據(jù)庫中輸入'張三'則顯示數(shù)據(jù)'張三’
–(6)表示數(shù)字范圍為- 10的125次方到10的126次方, 可
以表示小數(shù) 也可以表示整數(shù)
–(7)最大表示4位整數(shù) -9999 到 9999
–(8)表示5位有效數(shù)字 2位小數(shù)的 一個小數(shù) -999.99
到 999.99
–(9)包含年月日和時分秒
–(10)包含年月日和時分秒毫秒
–(11)二進制大對象圖像/聲音
2.創(chuàng)建表date_test,包含列d,類型為date型。試向
date_test表中插入兩條記錄,一條當前系統(tǒng)日期記錄,一
條記錄為“1998-08-18”。
? 3.創(chuàng)建與dept表相同表結(jié)構(gòu)的表dtest,將dept表中部門編
號在40之前的信息插入該表。
? 3.創(chuàng)建與emp表結(jié)構(gòu)相同的表empl,并將其部門編號為前30
號的員工信息復制到empl表。
? 4.試為學生表student增加一列學生性別gender 默認值
“女”。
? 5.試修改學生姓名列數(shù)據(jù)類型為定長字符型10位。

第14章 約束

練習1
1.學校有一個選課系統(tǒng),其中包括如下關(guān)系模式:
系(系編號: 主鍵,
系名稱: 唯一鍵,
系主任: 非空約束,
系所在校去:取值范圍只能在南湖校區(qū)和渾南校區(qū))
班級(班級編號: 主鍵,
班級名稱: 唯一鍵,
所屬系: 外鍵)
2.創(chuàng)建學生表,包含如下屬性:
學號 定長字符型 10位 主鍵
姓名 變長字符型 20位 非空
性別 定長字符型 2位 取值范圍只能為男或女
出生日期 日期型
所在班級

課后作業(yè)
1.簡述5種約束的含義。
2.創(chuàng)建學生關(guān)系sc,包括屬性名:
– 選課流水號 數(shù)值型 主鍵;
– 學生編號 非空 外鍵
– 課程編號 非空 外鍵;
– 成績 0-100之間;
3.創(chuàng)建copy_emp,要求格式同emp表完全一樣,不包含數(shù)據(jù)。
4.創(chuàng)建copy_dept,要求格式同dept表完全一樣,不包含數(shù)據(jù)。
5.設(shè)置copy_emp 表中外鍵deptno,參照copy_dept中deptno,語句能否成功,為什么?
6.追加copy_dept表中主鍵deptno

第15章 視圖

練習1
1.創(chuàng)建一個視圖,通過該視圖可以查詢到工資在2000-5000內(nèi)并且姓名中包含有A的員工編號,姓名,工資。
2.通過上述創(chuàng)建的視圖查詢數(shù)據(jù)

練習2
1.創(chuàng)建一個視圖,通過該視圖可以查詢到工作在NEW YORK和CHICAGO的員工編號,姓名,部門編號,入職日期。
2.創(chuàng)建一個視圖,通過該視圖可以查詢到每個部門的部門名稱及最低工資。
3.通過如上視圖,查詢每個部門工資最低的員工姓名及部門名稱

課后作業(yè)
? 1.創(chuàng)建視圖v_emp_20,包含20號部門的員工編號,姓名,
年薪列(年薪=12*(工資+獎金);
? 2.從視圖v_emp_20中查詢年薪大于1萬元員工的信息;
? 3.請為工資大于2000的員工創(chuàng)建視圖,要求顯示員工的部
門信息,職位信息,工作地點;
? 4.針對以上視圖執(zhí)行insert,update,delete,語句能否成
功,為什么

第16章 序列、索引、同義詞

練習1
1.創(chuàng)建一個序列,該序列起始值從1開始,無最
大值,增量是1,不循環(huán)。
2.查詢序列的當前值及下一個值
3.使用第1題所建的序列,向部門表中插入兩條記錄,部門編號使用序列值,部門名稱分別為:Education、Market,城市分別為:DALLAS、WASHTON

練習2
1.使用子查詢的方式,創(chuàng)建test表。
2.快速復制test表中的數(shù)據(jù),復制到100w條左右
3.更新test表中的empno字段為rownum
4.查詢test中empno為800000的記錄值,記錄查詢執(zhí)行時間。
5.在test表的empno字段上創(chuàng)建索引
6.重新執(zhí)行第4題,對比查詢時間

練習3
1.有如下關(guān)系模式,
student(sno,sname,gender,birthday,email);--學生
course(cno,cname,type,credit);--課程
sc(sno,cno,grade);--選課
試分析哪些列上適合創(chuàng)建索引?

課后作業(yè)
1.創(chuàng)建序列,起始位1,自增為1,最小值為1,最大值為9999
? 2.創(chuàng)建序列,起始值為50,每次增加5;
? 3.在表copy_dept中插入記錄,其中部門號碼采用上一步中創(chuàng)建的序列
生成;
? 4.請為工資創(chuàng)建索引,比較<10000,>1000,與round(sal)>10000,哪
個索引有效,哪個索引無效;
? 5.創(chuàng)建表,采用“create table copy_emp_index as select * from
emp”,生成500萬條數(shù)據(jù),把其中的“員工號”字段修改為唯一;
? 6.查詢表copy_emp_index表中員工號為200001的員工姓名,工資,記
錄執(zhí)行時間;
? 7.在copy_emp_index表的empno字段上創(chuàng)建索引,再次執(zhí)行第6題語句,
記錄執(zhí)行時間并做對比;
答案鏈接:https://blog.csdn.net/qq_37906822/article/details/81381918

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內(nèi)容