第2章 編寫簡(jiǎn)單的查詢語句
練習(xí)1
1.使用兩種方式查詢所有員工(EMP)信息。
2.查詢(EMP)員工編號(hào)、員工姓名、員工職位、員工月薪、工作部門編號(hào)。
練習(xí)2
1.員工轉(zhuǎn)正后,月薪上調(diào)20%,請(qǐng)查詢出所有員工轉(zhuǎn)正后的月薪。
2.員工試用期6個(gè)月,轉(zhuǎn)正后月薪上調(diào)20%,請(qǐng)查詢出所有員工工作第一年的年薪所得(不考慮獎(jiǎng)金部分,年薪的試用期6個(gè)月的月薪+轉(zhuǎn)正后6個(gè)月的月薪)
練習(xí)3
1.員工試用期6個(gè)月,轉(zhuǎn)正后月薪上調(diào)20%,請(qǐng)查詢出所有員工工作一年的所有收入(需考慮獎(jiǎng)金部分),要求顯示列標(biāo)題為員工姓名,工資收入,獎(jiǎng)金收入,總收入。
練習(xí)4
1.員工試用期6個(gè)月,轉(zhuǎn)正后月薪上調(diào)20%,請(qǐng)查詢出所有員工工作第一年的所有收入(需考慮獎(jiǎng)金部分),要求顯示格式為:XXX的第一年總收入為XXX。
2.查詢員工表中一共有哪幾種崗位類型。
課后作業(yè)
1.分別選擇員工表、部門表、薪資等級(jí)表中的所有數(shù)據(jù)
2.分別查看員工表、部門表、薪資等級(jí)表結(jié)構(gòu)。
第3章 限制數(shù)據(jù)和對(duì)數(shù)據(jù)排序
練習(xí)1
1.查詢職位為SALESMAN的員工編號(hào)、職位、入職日期。
2.查詢1985年12月31日之前入職的員工姓名及入職日期。
3.查詢部門標(biāo)號(hào)不在10部門的員工姓名、部門編號(hào)。
練習(xí)2
1.查詢?nèi)肼毴掌谠?2年至85年員工姓名,入職日期。
2.查詢?cè)滦皆?000到5000的員工姓名,月薪。
3.查詢部門編號(hào)為10或者20的員工姓名,部門編號(hào)。
4.查詢經(jīng)理編號(hào)為7709,7566,7788的員工姓名,經(jīng)理編號(hào)。
練習(xí)3
1.查詢員工姓名以W開頭的員工姓名。
2.查詢員工姓名倒數(shù)第2個(gè)字符為T的員工姓名。
3.查詢獎(jiǎng)金為空的員工姓名,獎(jiǎng)金。
練習(xí)4
1.查詢工資超過2000并且職位是WANAGER,或者職位是SALESMAN的員工姓名、職位、工資。
2 .查詢工資超過2000并且職位是WANAGER或SALESMAN的員工姓名、職位、工資。
3.查詢部門在10或者20,并且工資在3000到5000之間的員工姓名、部門、工資。
4.查詢?nèi)肼毴掌谠?1年,并且職位不是SALES開頭的員工姓名、入職日期、職位。
5.查詢職位為SALESMAN或MANAGER,部門編號(hào)為10或者20,姓名包含A的員工姓名、職位、部門編號(hào)。
練習(xí)5
1.查詢部門在20或30的員工姓名,部門編號(hào),并按照工資升序排序。
2.查詢工資在2000-3000之間,部門不在10號(hào)的員工姓名,部門編號(hào),工資,并按照部門升序,工資降序排序。
3.查詢?nèi)肼毴掌谠?2年至83年之間,職位以SALES或者M(jìn)AN開頭的員工姓名,入職日期,職位,并按照入職日期降序排序。
課后作業(yè)
1.查詢?nèi)肼殨r(shí)間在1982-7-9之后,并且不從事SALESMAN工作的員工姓名、入職時(shí)間、職位。
2.查詢員工姓名的第三個(gè)字母是a的員工姓名。
3.查詢除了10、20號(hào)部門以外的員工姓名、部門編號(hào)。
4.查詢部門號(hào)為30號(hào)員工的信息,先按工資降序排序,再按姓名升序排序。
5.查詢沒有上級(jí)的員工(經(jīng)理號(hào)為空)的員工姓名。
6.查詢工資大于等于4500并且部門為10或者20的員工的姓名,工資,部門編號(hào)。
第4章 單行函數(shù)
練習(xí)1
1.寫一個(gè)查詢,用首字母大寫,其他字母小寫顯示雇員的ename,顯示名字的長度,并給每列一個(gè)適當(dāng)?shù)臉?biāo)簽,條件是滿足所有雇員名字的開始字母是J、A或M的雇員,并對(duì)查詢結(jié)果按雇員的ename升序排序。(提示:使用initcap、length、substr)
練習(xí)2
1.查詢員工姓名中包含大寫或小寫字母A的員工姓名。
2.查詢部門編號(hào)為10或20,入職日期在81年5月1日之后,并且姓名中包含大寫字母A的員工姓名,員工姓名長度。(提示:要求使用INSTR函數(shù))
3.查詢每個(gè)職工的編號(hào),姓名,工資
-要求將查詢到的數(shù)據(jù)按照一定的格式合并成一個(gè)字符串
-前10位:編號(hào),不足部分用填充,左對(duì)齊
-中間10位:姓名,不足部分用填充,左對(duì)齊
-后10位:工資,不足部分用*填充,右對(duì)齊
練習(xí)3
1.寫一個(gè)查詢,分別計(jì)算100.456四舍五入到小數(shù)點(diǎn)后第2位,第1位,整數(shù)位的值。
2.寫一個(gè)查詢,分別計(jì)算100.456從小數(shù)點(diǎn)后第2位,第1位,整數(shù)位截?cái)嗟闹怠?/p>
練習(xí)4
1.查詢每個(gè)員工截止到現(xiàn)在一共入職多少天?
2.當(dāng)前日期為2015年,指定日期格式DD-MON-RR,指定日期為01-1月-01,該日期實(shí)際所代表的日期為?
- 當(dāng)前日期為2015年,指定日期格式DD-MON-RR,指定日期為01-1月-95,該日期實(shí)際所代表的日期為?
4.當(dāng)前日期為1998年,指定日期格式DD-MON-RR,指定日期為01-1月-01,該日期實(shí)際所代表的日期為?
5.當(dāng)前日期為1998年,指定日期格式DD-MON-RR,指定日期為01-1月-95,該日期實(shí)際所代表的日期為?
6.當(dāng)前日期為1998年,指定日期格式DD-MON-YY,指定日期為01-1月-01,該日期實(shí)際所代表的日期為?
7.當(dāng)前日期為1998年,指定日期格式DD-MON-YY,指定日期為01-1月-95,該日期實(shí)際所代表的日期為?
練習(xí)5
1.查詢服務(wù)器當(dāng)前時(shí)間。
2.查詢部門10,20的員工截止到2000年1月1日,工作了多少個(gè)月,入職的月份。(使用months_between, extract)
3.如果員工使用期6個(gè)月,查詢職位不是MANAGER員工姓名,入職日期,轉(zhuǎn)正日期,入職日期后的第一個(gè)星期一,入職當(dāng)前月的最后一天日期。(使用add_months, next_day, last_day)
練習(xí)6
1.顯示服務(wù)器系統(tǒng)當(dāng)前時(shí)間,格式為2007-10-12 17:11:11。(用to_char函數(shù))
2.顯示ename,hiredate和雇員開始工作日是星期幾,列標(biāo)簽DAY。(用to_char函數(shù))
3.查詢員工姓名,工資,格式化的工資(¥999,999.99)。(用to_char函數(shù))
4.把字符串2015-3月-18 13:13:13轉(zhuǎn)換成日期格式,并計(jì)算和系統(tǒng)當(dāng)前時(shí)間間隔多少天。(用to_char函數(shù))
課后作業(yè)
1.計(jì)算2000年1月1日到現(xiàn)在又多少月,多少周(四舍五入)。
2.查詢員工ename的第三個(gè)字母是A的員工信息(使用兩個(gè)函數(shù))。
3.使用trim函數(shù)將字符串‘hello’,‘Hello’,‘bllb’,‘hello’分別處理得以下字符串ello、Hello、ll、hello。
4.將員工工資按如下格式顯示:123,234.00 RMB。
5.查詢員工的姓名及其經(jīng)理編號(hào),要求對(duì)于沒有經(jīng)理的顯示“No Manager”字符串。
6.將員工的參加工作日期按照如此啊格式顯示:月份/年份
7.在員工表中查詢除員工的工資,并計(jì)算應(yīng)交稅款:如果工資小于1000,稅率為0,如果工資大于等于1000并小于2000,稅率為10%,如果工資大于等于2000并小于3000,稅率為15%,如果工資大于等于3000,稅率為20%。
8.創(chuàng)建一個(gè)查詢顯示所有雇員的ename和sal。格式化sal圍毆15個(gè)字符長度,用$左填充,列標(biāo)簽SALARY。
第5章 多表連接
練習(xí)1
1.寫一個(gè)查詢,顯示所有員工姓名,部門編號(hào),部門姓名。
2.寫一個(gè)查詢,顯示所有工作在CHICAGO并且獎(jiǎng)金不為空的員工姓名,工作地點(diǎn),獎(jiǎng)金。
3.寫一個(gè)查詢,顯示所有姓名中含有A字符的員工姓名,工作地點(diǎn)。
練習(xí)2
1.查詢每個(gè)員工的編號(hào),姓名,工資,工資等級(jí),所在工作城市,按照工資等級(jí)進(jìn)行升序排序。
練習(xí)3
1.查詢所有工作在NEW YORK和CHICAGO的員工姓名,員工編號(hào),以及他們的經(jīng)理姓名,經(jīng)理編號(hào)。
2.在上一題的基礎(chǔ)上,添加沒有經(jīng)理的員工King,并按照員工編號(hào)排序。
3.查詢所有員工編號(hào),姓名,部門名稱,包括沒有部門的員工也要顯示出來。
練習(xí)4
使用SQL-99寫法,完成如下練習(xí)
1.創(chuàng)建一個(gè)員工表和部門表的交叉連接。
2.使用自然連接,顯示入職日期在80年5月1日之后的員工姓名,部門名稱,入職日期。
3.使用USING子句,顯示工作在CHICAGO的員工姓名,部門名稱,工作地點(diǎn)。
4.使用ON子句,顯示工作在CHICAGO的員工姓名,本門名稱,工作地點(diǎn),薪資等級(jí)。
5.使用左連接,查詢每個(gè)員工的姓名,經(jīng)理姓名,沒有經(jīng)理的King也要顯示出來。
6.使用右外連接,查詢每個(gè)員工的姓名,經(jīng)理姓名,沒有經(jīng)理的King也要顯示出來。
課后作業(yè)
1.顯示員工SMITH的姓名,部門名稱,直接上級(jí)名稱。
2.顯示員工姓名,部門名稱,工資,工資級(jí)別,要求工資級(jí)別大于4級(jí)。
3.顯示員工KING和FORD管理的員工姓名及其經(jīng)理姓名。
4.顯示員工姓名,參加工作時(shí)間,經(jīng)理名,參加工作時(shí)間,要求參加時(shí)間比經(jīng)理早。
第6章 分組函數(shù)
練習(xí)1
1.查詢部門20的員工,每月的工資總和及平均工資。
2.查詢工作在CHICAGO的員工人數(shù),最高工資及最低工資。
3.查詢員工表中一共有幾種崗位類型。
練習(xí)2
1.查詢每個(gè)部門的部門編號(hào),部門名稱,部門人數(shù),最高工資,最低工資,工資總和,平均工資。
2.查詢每個(gè)部門,每個(gè)崗位的部門編號(hào),部門名稱,崗位名稱,部門人數(shù),最高工資,最低工資,工資總和,平均工資。
3.查詢每個(gè)經(jīng)理所管理的人數(shù),經(jīng)理編號(hào),經(jīng)理姓名,要求包括沒有經(jīng)理的人員信息。
練習(xí)3
1.查詢部門人數(shù)大于2的部門編號(hào),部門名稱,部門人數(shù)。
2.查詢部門平均工資大于2000,且人數(shù)大于2的部門編號(hào),部門名稱,部門人數(shù),
部門平均工資,并按照部門人數(shù)升序排序。
課后作業(yè)
1.查詢部門平均工資在2500元以上的部門名稱及平均工資。
2.查詢員工崗位中不是以“SA”開頭并且平均工資在2500員以上的崗位及平均工資,并按平均工資降序排序。
3.查詢部門人數(shù)在2人以上的部門名稱,最低工資,最高工資,并對(duì)要求的工資進(jìn)行四舍五入到整數(shù)位。
4.查詢崗位不為SALESMSMAN,工資和大于等于2500的崗位及每種崗位的工資和。
5.顯示經(jīng)理編號(hào)和經(jīng)理姓名,這個(gè)經(jīng)理所管理員工的最低工資,沒有經(jīng)理的KING也要顯示,不包括最低工資小于3000的,按最低工資由高到低排序。
6.寫一個(gè)查詢,顯示每個(gè)部門最高工資和最低工資的差額。
第7章 子查詢
練習(xí)1
1.查詢?nèi)肼毴掌谧钤绲膯T工姓名,入職日期。
2.查詢工資比SMITH工資高并且工作地點(diǎn)在CHICAGO的員工姓名,工資,部門名稱。
3.查詢?nèi)肼毴掌诒?0部門入職日期最早的員工還早的員工姓名,入職日期。
4.查詢部門人數(shù)大于所有部門平均人數(shù)的部門編號(hào),部門名稱,部門人數(shù)。
練習(xí)2
1.查詢?nèi)肼毴掌诒?0部門任意一個(gè)員工晚的員工姓名,入職日期,不包括10部門員工。
2.查詢?nèi)肼毴掌诒?0部門所有員工晚的員工姓名,入職日期,不包括10部門員工。
3.查詢職位和10部門人員一個(gè)員工職位相同的員工姓名,職位,不包括10部門員工。
練習(xí)3
1.查詢職位及經(jīng)理和10部門任意一個(gè)員工職位及經(jīng)理相同的員工姓名,職位,不包括10部門員工。
2.查詢職位及經(jīng)理和10部門任意一個(gè)員工職位或經(jīng)理相同的員工姓名,職位,不包括10部門員工。
練習(xí)4
1.查詢比自己職位平均工資高的員姓名,職位,部門名稱,職位平均工資。
2.查詢職位和經(jīng)理同員工SCOTT或BLAKE完全相同的員工姓名,職位,不包括SCOTT和BLAKE本人。
3.查詢不是經(jīng)理的員工姓名。
練習(xí)5
1.查詢?nèi)肼毴掌谧钤绲那?名員姓名,入職日期。
2.查詢工作在CHICAGO并且入職日期最早的前2名員工姓名,入職日期。
練習(xí)6
1.按照每頁顯示5條記錄,分別查詢第1頁,第2頁,第3頁信息,要求顯示員工姓名,入職日期,部門名稱。
練習(xí)7
1.按照每頁顯示5條記錄,分別查詢工資最高的第1頁,第2頁,第3頁信息,要求顯示員工姓名,入職日期,部門名稱,工資。
課后作業(yè)
1.查詢工資高于編號(hào)為7782的員工工資,并且和7369號(hào)員工從事相同工作的員工的編號(hào),姓名及工資。
2.查詢工資最高的員工姓名和工資。
- 查詢部門最低工資高于10號(hào)部門最低工資的部門的編號(hào)、名稱及部門最低工資。
4.查詢員工工資為其部門最低工資的員工的編號(hào)和姓名及工資。
5.顯示經(jīng)理是KING的員工姓名,工資。
6.顯示比員工SMITH參加工作時(shí)間晚的員工姓名,工資,參加工作時(shí)間。
7.使用子查詢的方式查詢哪些職員在NEW YORK工作。
8.寫一個(gè)查詢顯示和員工SMITH工作在同一個(gè)部門的員工姓名,雇用日期,查詢結(jié)果中排除SMITH。
9.寫一個(gè)查詢顯示其工資比全體職員平均工資高的員工編號(hào)、姓名。
10.寫一個(gè)查詢顯示其上級(jí)領(lǐng)導(dǎo)是King的員工姓名、工資。
11.顯示所有工作在RESEARCH部門的員工姓名,職位。
12.查詢每個(gè)部門的部門編號(hào)、平均工資,要求部門的平均工資高于部門20的平均工資。
13.查詢大于自己部門平均工資的員工姓名,工資,所在部門平均工資,高于部門平均工資的額度。
14.列出至少有一個(gè)雇員的所有部門。
15.列出薪金比"SMITH"多的所有雇員。
16.列出入職日期早于其直接上級(jí)的所有雇員。
17.找員工姓名和直接上級(jí)的名字。
18.顯示部門名稱和人數(shù)。
19.顯示每個(gè)部門的最高工資的員工。
20.顯示出和員工號(hào)7369部門相同的員工姓名,工資。
21.顯示出和姓名中包含"W"的員工相同部門的員工姓名。
22.顯示出工資大于平均工資的員工姓名,工資。
23.顯示出工資大于本部門平均工資的員工姓名,工資。
24.顯示每位經(jīng)理管理員工的最低工資,及最低工資者的姓名。
25.顯示比工資最高的員工參加工作時(shí)間晚的員工姓名,參加工作時(shí)間
26.顯示出平均工資最高的的部門平均工資及部門名稱
第8章 集合運(yùn)算
練習(xí)1
1.分別使用聯(lián)合運(yùn)算及完全聯(lián)合運(yùn)算完成,按照時(shí)間升序順序,查詢員工7839的工作崗位列表。
2.使用多表連接,查詢每個(gè)部門的部門編號(hào),部門人數(shù),沒有人數(shù)的部門顯示0。
3.使用聯(lián)合運(yùn)算,查詢每個(gè)部門的部門編號(hào),部門人數(shù),沒有人數(shù)的部門顯示0。
4.使用聯(lián)合運(yùn)算,查詢10號(hào)部門及20號(hào)部門的員工姓名,部門編號(hào)。
- 使用集合運(yùn)算,輸出如下效果?
部門 工作地點(diǎn) 員工姓名 入職日期
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.用集合運(yùn)算,列出不包含job為SALESMAN的部門的部門號(hào)。
2.寫一個(gè)聯(lián)合查詢,列出下面的信息:
EMP表中所有雇員的名字和部門編號(hào),不管他們是否屬于任何部門。
DEPT表中的所有部門編號(hào)和部門名稱,不管他們是否有員工。
3.用集合運(yùn)算查詢出職位為SALESMAN和部門編號(hào)為10的
人員編號(hào)、姓名、職位,不排除重復(fù)結(jié)果。
4.用集合查詢出部門為10和20的所有人員編號(hào)、姓名、所在部門名稱。
第9章 高級(jí)子查詢
練習(xí)1
如下練習(xí),使用相關(guān)子查詢完成
1.查詢比所在職位平均工資高的員工姓名,職位
2.查詢工資為其部門最低工資的員工編號(hào),姓名 ,工資。
練習(xí)2
如下練習(xí),用相關(guān)子查詢完成
1.查詢所有雇員編號(hào),名字和部門名字。
2.查詢哪些員工是經(jīng)理?
3.查詢哪些員工不是經(jīng)理?
4.查詢每個(gè)部門工資最低的兩個(gè)員工編號(hào),姓名,工資。
練習(xí)3
如下練習(xí),用exists或not exists完成
1.列出至少有一個(gè)雇員的所有部門名稱。
2.列出一個(gè)雇員都沒有的所有部門名稱。
課后作業(yè) :
如下練習(xí),使用相關(guān)子查詢完成。
1.查詢薪水多于他所在部門平均薪水的雇員名字 ,部門號(hào)。
2.查詢員工姓名和直接上級(jí)的名字。
3.查詢每個(gè)部門工資最高的員工姓名,工資。
4.查詢每個(gè)部門工資前兩名高的員工姓名,工資。
第10章 層次查詢
課后作業(yè)
1.產(chǎn)生一個(gè)報(bào)告顯示 BLAKE的所有下級(jí)(包括直接和間接下級(jí))雇員的名字、薪水和部門號(hào)。
2.創(chuàng)建一個(gè)報(bào)告顯示對(duì)于雇員 SMITH 經(jīng)理的層次,包括級(jí)別和姓名,首先顯示他的直接經(jīng)理。
3.創(chuàng)建一個(gè)縮進(jìn)報(bào)告顯示經(jīng)理層次,從名字為 KING的雇員開始,顯示雇員的名字、經(jīng)理ID和部門ID。
4.產(chǎn)生一個(gè)公司組織圖表顯示經(jīng)理層次。從最頂級(jí)的人開始,排除所有job為CLERK的人,還要排除FORD和那些對(duì)FORD報(bào)告的雇員。
第11章 數(shù)據(jù)操作與事務(wù)控制
練習(xí)1
1.向部門表新增一個(gè)部門,部門編號(hào)為50,部門名稱為HR,工作地點(diǎn)為SY。
2.向部門表新增一個(gè)部門,部門編號(hào)為60,部門名稱為MARKET。
練習(xí)2
1.向員工表中新增一個(gè)員工,員工編號(hào)為8888,姓名為BOB,崗位為CLERK,經(jīng)理為號(hào)7788,入職日期為1985-03-03,薪資3000,獎(jiǎng)金和部門為空。
練習(xí)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日之前的員 工信息復(fù)制到emp_back表中。
INSERT INTO emp_back
SELECT *
FROM emp
WHERE hiredate>='01-1月-82';
練習(xí)4
1.修改部門20的員工信息,把82年之后入職的員工入職日期向后調(diào)整10天
2.修改獎(jiǎng)金為null的員工,獎(jiǎng)金設(shè)置為0
3.修改工作地點(diǎn)在NEW YORK或CHICAGO的員工工資,工資增加500
練習(xí)5
1.重復(fù)做一下剛才的案例。
練習(xí)6
1.刪除經(jīng)理編號(hào)為7566的員工記錄
2.刪除工作在NEW YORK的員工記錄
3.刪除工資大于所在部門平均工資的員工記錄
練習(xí)7
分析如下語句序列,哪些語句會(huì)結(jié)束事務(wù)?
練習(xí)8
1.test表為空表,分析如下語句操作后,最后test表的狀態(tài)。
課后作業(yè)
1.使用如下語句,創(chuàng)建學(xué)生表student和班級(jí)表class
create table student ( --學(xué)生表
xh char(4),--學(xué)號(hào)
xm varchar2(10),--姓名
sex char(2),--性別
birthday date,--出生日期
sal number(7,2), --獎(jiǎng)學(xué)金
studentcid number(2) --學(xué)生班級(jí)號(hào)
)
Create table class ( --班級(jí)表
classid number(2), --班級(jí)編號(hào)
cname varchar2(20),--班級(jí)名稱
ccount number(3) --班級(jí)人數(shù)
)
2.基于上述學(xué)生表和班級(jí)表,完成如下問題
(1)添加三個(gè)班級(jí)信息為:1,JAVA1班,null
2,JAVA2班,null
3,JAVA3班,null
(2)添加學(xué)生信息如下:‘A001’,‘張三’,‘男’,‘01-5月05’,100,1
(3)添加學(xué)生信息如下:'A002','MIKE','男','1905-05-06',10
(4)插入部分學(xué)生信息: 'A003','JOHN','女’
(5)將A001學(xué)生性別修改為'女‘
(6)將A001學(xué)生信息修改如下:性別為男,生日設(shè)置為1980-04-01
(7)將生日為空的學(xué)生班級(jí)修改為Java3班
(8)請(qǐng)使用一條SQL語句,使用子查詢,更新班級(jí)表中每個(gè)班級(jí)的人數(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字段插入空值,部門號(hào)50
,參加工作時(shí)間為2000年1月1日,其他字段隨意
(2)在表copy_emp中插入數(shù)據(jù),要求把emp表中部門號(hào)為10號(hào)部門
的員工信息插入
(3)修改copy_emp表中數(shù)據(jù),要求10號(hào)部門所有員工漲20%的工資
(4)修改copy_emp表中sal為空的記錄,工資修改為平均工資
(5)把工資為平均工資的員工,工資修改為空
(6)另外打開窗口2查看以上修改
(7)執(zhí)行commit,窗口2中再次查看以上信息
(8)刪除工資為空的員工信息
(9)執(zhí)行rollback
第13章 創(chuàng)建和維護(hù)表
練習(xí)1
1.學(xué)校想做一個(gè)選課系統(tǒng),其中涉及到課程表,學(xué)生表,請(qǐng)分別創(chuàng)建這兩個(gè)表,自己思考表中應(yīng)有的列及數(shù)據(jù)類型。
練習(xí)2
1.通過子查詢的方式創(chuàng)建一個(gè)表dept10,該表保存10號(hào)部門的員工數(shù)據(jù)。
練習(xí)3
1.在員工表中添加一個(gè)性別列,列名為gender,類型為char(2),默認(rèn)值為“男”
2.修改員工表中性別列的數(shù)據(jù)類型為char(4)
3.修改員工表中性別列的默認(rèn)值為“女”
4.刪除員工表中的性別列
課后作業(yè)
1.請(qǐng)分析按照以下要求都需要建立什么類型的字段?
–(1)最大2000個(gè)字節(jié)定長字符串
–(2)如果輸入‘張三’ 后添空格6個(gè)
–(3)性別輸入'男'或'女’
–(4)最大4000個(gè)字節(jié)變長字符串
–(5)如果在數(shù)據(jù)庫中輸入'張三'則顯示數(shù)據(jù)'張三’
–(6)表示數(shù)字范圍為- 10的125次方到10的126次方, 可
以表示小數(shù) 也可以表示整數(shù)
–(7)最大表示4位整數(shù) -9999 到 9999
–(8)表示5位有效數(shù)字 2位小數(shù)的 一個(gè)小數(shù) -999.99
到 999.99
–(9)包含年月日和時(shí)分秒
–(10)包含年月日和時(shí)分秒毫秒
–(11)二進(jìn)制大對(duì)象圖像/聲音
2.創(chuàng)建表date_test,包含列d,類型為date型。試向
date_test表中插入兩條記錄,一條當(dāng)前系統(tǒng)日期記錄,一
條記錄為“1998-08-18”。
? 3.創(chuàng)建與dept表相同表結(jié)構(gòu)的表dtest,將dept表中部門編
號(hào)在40之前的信息插入該表。
? 3.創(chuàng)建與emp表結(jié)構(gòu)相同的表empl,并將其部門編號(hào)為前30
號(hào)的員工信息復(fù)制到empl表。
? 4.試為學(xué)生表student增加一列學(xué)生性別gender 默認(rèn)值
“女”。
? 5.試修改學(xué)生姓名列數(shù)據(jù)類型為定長字符型10位。
第14章 約束
練習(xí)1
1.學(xué)校有一個(gè)選課系統(tǒng),其中包括如下關(guān)系模式:
系(系編號(hào): 主鍵,
系名稱: 唯一鍵,
系主任: 非空約束,
系所在校去:取值范圍只能在南湖校區(qū)和渾南校區(qū))
班級(jí)(班級(jí)編號(hào): 主鍵,
班級(jí)名稱: 唯一鍵,
所屬系: 外鍵)
2.創(chuàng)建學(xué)生表,包含如下屬性:
學(xué)號(hào) 定長字符型 10位 主鍵
姓名 變長字符型 20位 非空
性別 定長字符型 2位 取值范圍只能為男或女
出生日期 日期型
所在班級(jí)
課后作業(yè)
1.簡(jiǎn)述5種約束的含義。
2.創(chuàng)建學(xué)生關(guān)系sc,包括屬性名:
– 選課流水號(hào) 數(shù)值型 主鍵;
– 學(xué)生編號(hào) 非空 外鍵
– 課程編號(hào) 非空 外鍵;
– 成績(jī) 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章 視圖
練習(xí)1
1.創(chuàng)建一個(gè)視圖,通過該視圖可以查詢到工資在2000-5000內(nèi)并且姓名中包含有A的員工編號(hào),姓名,工資。
2.通過上述創(chuàng)建的視圖查詢數(shù)據(jù)
練習(xí)2
1.創(chuàng)建一個(gè)視圖,通過該視圖可以查詢到工作在NEW YORK和CHICAGO的員工編號(hào),姓名,部門編號(hào),入職日期。
2.創(chuàng)建一個(gè)視圖,通過該視圖可以查詢到每個(gè)部門的部門名稱及最低工資。
3.通過如上視圖,查詢每個(gè)部門工資最低的員工姓名及部門名稱
課后作業(yè)
? 1.創(chuàng)建視圖v_emp_20,包含20號(hào)部門的員工編號(hào),姓名,
年薪列(年薪=12*(工資+獎(jiǎng)金);
? 2.從視圖v_emp_20中查詢年薪大于1萬元員工的信息;
? 3.請(qǐng)為工資大于2000的員工創(chuàng)建視圖,要求顯示員工的部
門信息,職位信息,工作地點(diǎn);
? 4.針對(duì)以上視圖執(zhí)行insert,update,delete,語句能否成
功,為什么
第16章 序列、索引、同義詞
練習(xí)1
1.創(chuàng)建一個(gè)序列,該序列起始值從1開始,無最
大值,增量是1,不循環(huán)。
2.查詢序列的當(dāng)前值及下一個(gè)值
3.使用第1題所建的序列,向部門表中插入兩條記錄,部門編號(hào)使用序列值,部門名稱分別為:Education、Market,城市分別為:DALLAS、WASHTON
練習(xí)2
1.使用子查詢的方式,創(chuàng)建test表。
2.快速復(fù)制test表中的數(shù)據(jù),復(fù)制到100w條左右
3.更新test表中的empno字段為rownum
4.查詢test中empno為800000的記錄值,記錄查詢執(zhí)行時(shí)間。
5.在test表的empno字段上創(chuàng)建索引
6.重新執(zhí)行第4題,對(duì)比查詢時(shí)間
練習(xí)3
1.有如下關(guān)系模式,
student(sno,sname,gender,birthday,email);--學(xué)生
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中插入記錄,其中部門號(hào)碼采用上一步中創(chuàng)建的序列
生成;
? 4.請(qǐng)為工資創(chuàng)建索引,比較<10000,>1000,與round(sal)>10000,哪
個(gè)索引有效,哪個(gè)索引無效;
? 5.創(chuàng)建表,采用“create table copy_emp_index as select * from
emp”,生成500萬條數(shù)據(jù),把其中的“員工號(hào)”字段修改為唯一;
? 6.查詢表copy_emp_index表中員工號(hào)為200001的員工姓名,工資,記
錄執(zhí)行時(shí)間;
? 7.在copy_emp_index表的empno字段上創(chuàng)建索引,再次執(zhí)行第6題語句,
記錄執(zhí)行時(shí)間并做對(duì)比;
答案鏈接:https://blog.csdn.net/qq_37906822/article/details/81381918