糯米文學吧

位置:首頁 > IT認證 > IBM認證

IBM認證數據庫考試試題

IBM認證3.01W

IBM的歷史可以追溯到電子計算機發展前的幾十年,在電子計算機發展之前,它經營穿孔卡片數據處理設備。下面是小編整理的關於IBM認證數據庫考試試題,歡迎大家參考!

IBM認證數據庫考試試題

(1)已知表T1中有2行數據,T2中有3行數據,執行SQL語句

“select a.* from T1 a,T2 b”後,返回的行數為______

A、2行

B、3行

C、5行

D、6行

多表查詢沒有指定連接條件,會導致笛卡爾積的出現,返回行數等於2張表的行數乘積,返回6行記錄

考察:對多表連接、笛卡爾積的理解

答案:A

(2)、已知表T1和T2的字段定義完全相同,T1,T2中各有5條不同的數據,其中T1有2條數據存在於表T2中,語句“select * from T1 union select * from T2”

返回的行數為_______

A、8行

B、10行

C、3行

D、12行

第二題? UNION在進行錶鏈接後會篩選掉重複的`記錄,所以在錶鏈接後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。

考察:UNION 的理解

答案: A

(3)、 已知表T1含有字段ID、CourseID和Score,且數據為

ID CourseID Score

3 1 90

2 1 85

2 2 90

3 2 80

則語句“select id,sum(ScorE) from T1 group by ID”的執行結果為_________

A、 ID sum(ScorE)

—– ? ———-

3 ? 170

2 ? 175

B、 ID sum(ScorE)

—– ? ———-

2 ? 175

3 ? 170

C、 ID sum(ScorE)

—– ? ———-

2 ? 170

3 ? 175

D、 ID sum(ScorE)

—– ? ———-

3 ? 175

2 170

第三題 GROUP BY 對按照ID字段進行分組,同時對ID相同字段的ScorE進行求和,GROUP by 會自動對結果集進行排序所以答案選B

考察:group by 的理解

答案: B

(4)、電話號碼錶t_phonebook中含有100萬條數據,其中號碼字段PhoneNo上創建了唯一索引,且電話號碼全部由數字組成,要統計號碼頭為321的電話號碼的數量,下面寫法執行速度最慢的是_________

A、 select count(*) from t_phonebook where phoneno >= ‘321’ and phoneno < ‘321A’

B、 select count(*) from t_phonebook where phoneno like ‘321%’

C、 select count(*) from t_phonebook where substring(phoneno,1,3) = ‘321’

A>或者<操作符會採用索引查找

B:LIKE通配符在XXX%情況下會應用索引,如果在%xxx%等情況下不會應用索引

答案: C:採用函數處理的字段不能利用索引,例如substr()? 這個題好像寫成java的函數了

答案: C

(5)、已知表tbl中字段land_ID建有索引,字段cust_id建有唯一索引,下列語句查詢邏輯相同,其中執行效率最優的是

A、 SELECT * FROM tbl

WHERE land_id > 750

or (cust_id=180 or cust_id=560)

B、 SELECT * FROM tbl

WHERE (cust_id=180 or cust_id=560)

or land_id > 750

C、 SELECT * FROM tbl WHERE land_id > 750

UNION

SELECT * FROM tbl WHERE cust_id = 180

UNION

SELECT * FROM tbl WHERE cust_id = 560

D、 SELECT * FROM tbl WHERE land_id > 750

UNION

( SELECT * FROM tbl WHERE cust_id = 180

UNION ALL

SELECT * FROM tbl WHERE cust_id = 560

)

C/D相比較而言,D的執行效率更高一些

UNION在進行錶鏈接後會篩選掉重複的記錄,所以在錶鏈接後會對所產生的結果集進行排序運算,刪除重複的記錄再返回結果。實際大部分應用中是不會產生重複的記錄

採用UNION ALL操作符替代UNION,因為UNION ALL操作只是簡單的將兩個結果合併後就返回。

(6)、員工技能表Staffskill結構如下,Staff和Skill字段建有唯一約束

staff VARCHAR2(10),

skill VARCHAR2(10)

哪條語句可以查詢同時擁有技能A和技能B的員工

A、 select staff from Staffskill where skill=’A’ OR skill=’B’

B、 select staff from Staffskill where skill=’A’ AND skill=’B’

C、 select staff from Staffskill where skill=’A’ OR skill=’B’ group by staff

D、 select staff from Staffskill where skill=’A’ OR skill=’B’ group by staff having count(*)>1

答案:D

(7)員工表staff表結構如下

staffNo varchar2(10),

Email varchar2(50)

哪一個SQL語句查詢出沒有E_mail地址的員工號

A、select staffno from Staff where Email = NULL

B、select staffno from Staff where Email <> NULL

C、select staffno from Staff where Email is null

D、select staffno from Staff where Email is not null

答案: C

(8)Oracle數據庫啟動步驟的順序為

t? ? unt

A、3-1-2

B、2-3-1

C、2-1-3

D、3-2-1

答案:A

(9)存在兩個結構相同的數據庫表T1(col1,col2,col3)、T2(col1,col2,col3),寫出一SQL語句將所有T1數據導入到T2表

A、select col1,col2,col3 from T1 INTO T2 (col1,col2,col3)

B、INSERT T1 (col1,col2,col3) INTO T2(col1,col2,col3)

C、insert into T2 (col1,col2,col3) AS select col1,col2,col3 from T1;

D、insert into T2 (col1,col2,col3) select col1,col2,col3 from T1;

答案: D

10)一個表的字段為varchar2,如果建表時沒有指定長度,則默認長度為:

A、1

B、25

C、38

D、255

E、4000

F、建表時varchar2類型字段必須指定長度

答案:F

(11)用TRUNCATE和DELETE語句刪除表中數據的區別?

A、TRUNCATE命令不記錄日誌

B、TRUNCATE命令記錄日誌

C、DELETE命令不記錄日誌

答案:A

(12)如下查詢語句SELECT id_number,100/quantity from inventory如果quantity為空,則查詢語句的第二個字段將返回

A、 a space

B、 a null value

C、 a value of 0

D、 a value of 100

E、 the keywork null

答案:B

(13)如下語句:SELECT _number,_number FROM inventory i,manufacturer m

WHERE facturer_id = _number

Order by ription

執行時是錯誤的,請問以下措施哪個能夠改正這個錯誤?

A 在order by的子句中使用表的別名

B 在where子句中去掉表的別名

C 在where子句中用表名代替表的別名

D 在order by子句中去掉表名,只要字段名稱即可

(如果2張表中,不同時存在字段名為description的話,D答案也是正確的)

答案:A

14)A表字段a 類型int中有100條記錄,值分別為1至100。如下語句

SELECT a FROM A

WHERE A BETWEEN 1 AND 50

OR (A IN (25,70,95)

AND A BETWEEN 25 AND 75)

則如下哪個值在這個sql語句返回的結果集中

A、30? B、51? C、75? D、95

答案:A

15) 變量v_time = ‘23-MAY-00’,如下那條語句返回值為‘01-JAN-00’?

A SELECT ROUND(V_TIME,’DAY’) FROM DUAL;

B SELECT ROUND(V_TIME,’YEAR’) FROM DUAL;

C SELECT ROUND(V_TIME,’MONTH’) FROM DUAL;

D SELECT ROUND(TO_CHAR(V_TIME,’YYYY’)) FROM DUAL;

答案:B

16)關於索引(index)的説法哪些是錯誤?

A、創建索引能提高數據插入的性能

B、索引應該根據具體的檢索需求來創建,在選擇性好的列上創建索引

C、索引並非越多越好

D、建立索引可使檢索操作更迅速

答案: A

(17)指出下面sql語句的錯誤之處:

select id_number “Part Number”,sum(price) “price” from inventory

where price > 50

group by “Part Number”

order by 2;

A、order by 2

B、from inventory

C、 where price > 50

D、group by “Part Number”

答案:D

(18)如下語句

if v_num > 5 then

v_example := 1;

elsif v_num > 10 then

v_example := 2;

elsif v_num < 20 then

v_example := 3;

elsif v_num < 39 then

v_example := 4;

else? v_example := 5;

如果v_num = 37,則v_example的值是多少?

A、1 ? B、2 C、3 D、4 E、5

答案:A