- 相關(guān)推薦
IBM認(rèn)證數(shù)據(jù)庫考試試題
IBM的歷史可以追溯到電子計(jì)算機(jī)發(fā)展前的幾十年,在電子計(jì)算機(jī)發(fā)展之前,它經(jīng)營穿孔卡片數(shù)據(jù)處理設(shè)備。下面是小編整理的關(guān)于IBM認(rèn)證數(shù)據(jù)庫考試試題,歡迎大家參考!
(1)已知表T1中有2行數(shù)據(jù),T2中有3行數(shù)據(jù),執(zhí)行SQL語句
“select a.* from T1 a,T2 b”后,返回的行數(shù)為______
A、2行
B、3行
C、5行
D、6行
多表查詢沒有指定連接條件,會導(dǎo)致笛卡爾積的出現(xiàn),返回行數(shù)等于2張表的行數(shù)乘積,返回6行記錄
考察:對多表連接、笛卡爾積的理解
答案:A
(2)、已知表T1和T2的字段定義完全相同,T1,T2中各有5條不同的數(shù)據(jù),其中T1有2條數(shù)據(jù)存在于表T2中,語句“select * from T1 union select * from T2”
返回的行數(shù)為_______
A、8行
B、10行
C、3行
D、12行
第二題? UNION在進(jìn)行表鏈接后會篩選掉重復(fù)的記錄,所以在表鏈接后會對所產(chǎn)生的結(jié)果集進(jìn)行排序運(yùn)算,刪除重復(fù)的記錄再返回結(jié)果。
考察:UNION 的理解
答案: A
(3)、 已知表T1含有字段ID、CourseID和Score,且數(shù)據(jù)為
ID CourseID Score
3 1 90
2 1 85
2 2 90
3 2 80
則語句“select id,sum(ScorE) from T1 group by ID”的執(zhí)行結(jié)果為_________
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字段進(jìn)行分組,同時(shí)對ID相同字段的ScorE進(jìn)行求和,GROUP by 會自動對結(jié)果集進(jìn)行排序所以答案選B
考察:group by 的理解
答案: B
(4)、電話號碼表t_phonebook中含有100萬條數(shù)據(jù),其中號碼字段PhoneNo上創(chuàng)建了唯一索引,且電話號碼全部由數(shù)字組成,要統(tǒng)計(jì)號碼頭為321的電話號碼的數(shù)量,下面寫法執(zhí)行速度最慢的是_________
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%情況下會應(yīng)用索引,如果在%xxx%等情況下不會應(yīng)用索引
答案: C:采用函數(shù)處理的字段不能利用索引,例如substr()? 這個(gè)題好像寫成java的函數(shù)了
答案: C
(5)、已知表tbl中字段land_ID建有索引,字段cust_id建有唯一索引,下列語句查詢邏輯相同,其中執(zhí)行效率最優(yōu)的是
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的執(zhí)行效率更高一些
UNION在進(jìn)行表鏈接后會篩選掉重復(fù)的記錄,所以在表鏈接后會對所產(chǎn)生的結(jié)果集進(jìn)行排序運(yùn)算,刪除重復(fù)的記錄再返回結(jié)果。實(shí)際大部分應(yīng)用中是不會產(chǎn)生重復(fù)的記錄
采用UNION ALL操作符替代UNION,因?yàn)閁NION ALL操作只是簡單的將兩個(gè)結(jié)果合并后就返回。
(6)、員工技能表Staffskill結(jié)構(gòu)如下,Staff和Skill字段建有唯一約束
staff VARCHAR2(10),
skill VARCHAR2(10)
哪條語句可以查詢同時(shí)擁有技能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表結(jié)構(gòu)如下
staffNo varchar2(10),
Email varchar2(50)
哪一個(gè)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數(shù)據(jù)庫啟動步驟的順序?yàn)?/p>
1.Mount? 2.Open? 3.Nomount
A、3-1-2
B、2-3-1
C、2-1-3
D、3-2-1
答案:A
(9)存在兩個(gè)結(jié)構(gòu)相同的數(shù)據(jù)庫表T1(col1,col2,col3)、T2(col1,col2,col3),寫出一SQL語句將所有T1數(shù)據(jù)導(dǎo)入到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)一個(gè)表的字段為varchar2,如果建表時(shí)沒有指定長度,則默認(rèn)長度為:
A、1
B、25
C、38
D、255
E、4000
F、建表時(shí)varchar2類型字段必須指定長度
答案:F
(11)用TRUNCATE和DELETE語句刪除表中數(shù)據(jù)的區(qū)別?
A、TRUNCATE命令不記錄日志
B、TRUNCATE命令記錄日志
C、DELETE命令不記錄日志
答案:A
(12)如下查詢語句SELECT id_number,100/quantity from inventory如果quantity為空,則查詢語句的第二個(gè)字段將返回
A、 a space
B、 a null value
C、 a value of 0
D、 a value of 100
E、 the keywork null
答案:B
(13)如下語句:SELECT i.id_number,m.id_number FROM inventory i,manufacturer m
WHERE i.manufacturer_id = m.id_number
Order by inventory.description
執(zhí)行時(shí)是錯誤的,請問以下措施哪個(gè)能夠改正這個(gè)錯誤?
A 在order by的子句中使用表的別名
B 在where子句中去掉表的別名
C 在where子句中用表名代替表的別名
D 在order by子句中去掉表名,只要字段名稱即可
(如果2張表中,不同時(shí)存在字段名為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)
則如下哪個(gè)值在這個(gè)sql語句返回的結(jié)果集中
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)關(guān)于索引(index)的說法哪些是錯誤?
A、創(chuàng)建索引能提高數(shù)據(jù)插入的性能
B、索引應(yīng)該根據(jù)具體的檢索需求來創(chuàng)建,在選擇性好的列上創(chuàng)建索引
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
【IBM認(rèn)證數(shù)據(jù)庫考試試題】相關(guān)文章:
IBM認(rèn)證考試筆試題03-08
IBM Lotus認(rèn)證試題03-08
IBM認(rèn)證試題及答案07-21
IBM認(rèn)證試題(附答案)10-23
IBM認(rèn)證考試流程01-12
IBM認(rèn)證的考試流程01-12
IBM認(rèn)證考試介紹01-19
IBM認(rèn)證考試輔導(dǎo)03-10