[db基礎](10)
選答題, 從下列題目中任選題分值滿10分的作答.
sybase
a.(5)軟件公司的張工在備份數據庫除了備份應用數據庫本身以外, 還備份master數據庫,為什么?
b.(5)sybase的view創建有那些限制?
oracle
a.(5)解釋歸檔和非歸檔模式之間的不同和它們各自的優缺點
b.(5) 兩個結果集互加及互減的函數
綜合
a.(10)取一表前n筆記錄的各種數據庫的寫法... 至少寫出三種寫法.
[sql常識](30)
a. (5)比較truncate和delete :
b. (5)比較union 和 union all區別,請舉例說明 (要求寫出結果集)
c. (5)比較exists 與 in (not in)的用法, 請舉例說明 (要求寫出結果集)
d. (5)比較between 與 > and <的區別,請舉例說明 (要求寫出結果集)
e. (9)比較自然連接和外部連接以及笛卡爾積的用法,各請舉例說明 (要求寫出結果集)
[sql綜合應用](40)
使用的數據庫不受限制,但要求在答案中寫出所用的數據庫類型.
下列題目要求用sql本身實現(要求考慮到編碼級優化)
最好就一句sql, (得分率為100%)
如果不能用一句sql實現可以用多句sql實現,(得分率為 80%)
也可以用存儲過程實現(得分率為70%).
除了寫出相應的編碼外,還要求答題者給出思路以及實現步驟的文字描述.
a.(6)求和運算
表結構如下:
序號,總金額,金額1,部門
記錄:1 10 1
2 10 1
3 10 1
4 10 2
5 10 2
現想按部門對總金額進行求和運算
結果為為:
序號,總金額,金額1,部門
記錄:1 30 10 1
2 30 10 1
3 30 10 1
4 20 10 2
5 20 10 2
b.(6)字段最大值
有三個字段,t1, t2, t3,請問怎么返回一個字段,值是這三個字段的最大值?
要求:對題目的理解描述, 建立相應的測試數據, 寫出sql,得出sql結果集
c.(6)重復行檢索
請問如何把一個table中某列重復的行檢索出來? (某一列或者多列的值重復)
要求:對題目的理解描述, 建立相應的測試數據, 寫出sql,得出sql結果集
d.(8)需求理解
有一張表:s#(學號),c#(課程號),grade(成績)
請寫出所學課程包含學號為001的學生所學課程的學生的學號。
要求:對題目的理解描述, 建立相應的測試數據, 寫出sql,得出sql結果集
e.(14)外連接應用
有兩張表b1,b2,其中b1表有一列為(id1 number(10)),b2有一列為(id2 number(10)).現在需要將id1,id2取出來,放在表b3里,b3為(b1id number(10),b2id number(10)),要將id1放入b1id,id2放入b2id. 另該兩表沒有任何內在聯系.
請問用sql語句該怎么實現。
表b1 表b2 表b3
id1 id2 b1id, b2id
1 2 1 2
2 3 2 3
3 1 3 1
4 6 4 6
5 9 5 9
5 null 5
8 null 8
4 null 4
------------------------------------------------
abc客戶分析法的說明:
(一)將客戶按業績大小順序排列。
(二)將全部客戶的進貨金額予以累計。
(三)其累計的總金額在55%以內的客戶稱為a級客戶。
在55%——85%的客戶稱為b級客戶。
在85%—100%的客戶稱為c級客戶。