一、 選擇題:(每題2分,共50分)
1. 下列四項中,不屬于SQL2005實用程序的是(D )。
A. SQL Server Management Studio
B. SQL Server Profiler
C. SQL Server 配置管理器
D. 查詢分析器
2. SQL Server安裝程序創(chuàng)建5個系統(tǒng)數(shù)據(jù)庫,下列哪個不是(C )。
A.resource B.model C.AdventureWorks D. msdb
3. 下列哪個不是數(shù)據(jù)庫對象(A )。
A.?dāng)?shù)據(jù)模型 B.視圖 C.表 D.用戶
4. 下列哪個不是sql 數(shù)據(jù)庫文件的后綴。(C)
A..mdf主數(shù)據(jù)文件 B..ldf事務(wù)日志文件 C..tif D..ndf次數(shù)據(jù)文件
5. 在SQL中,建立表用的命令是 (A )。
A.CREATE TABLE B.CREATE RULE
C.CREATE VIEW D.CREATE INDEX
6. SQL語言中,條件“年齡BETWEEN 40 and
A.包括40歲和50歲 B.不包括40歲和50歲
C.包括40歲但不包括50歲 D.包括50歲但不包括40歲
7. 模糊查找like ‘_a%’,下面哪個結(jié)果是可能的(C)
A.aili B. bai C.bba D.cca
8. 在MS SQL Server中,用來顯示數(shù)據(jù)庫信息的系統(tǒng)存儲過程是(A )。
A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb
9. SQL語言中,刪除記錄的命令是(A )。
A. DELETE B. DROP表 C. CLEAR D. REMOVE
10. SQL的視圖是從(C )中導(dǎo)出的。
A.基本表 B.視圖 C. 基本表或視圖 D. 數(shù)據(jù)庫
11. 以下(B)語句從表TABLE_NAME中提取前10條記錄。
A. select * from TABLE_NAME where rowcount=10
B. select TOP 10 * from TABLE_NAME
C. select TOP of 10 * from TABLE_NAME
D. select * from TABLE_NAME where rowcount<=10
12. 從“產(chǎn)品”表里查詢出價格高于產(chǎn)品名稱為“一次性紙杯”的產(chǎn)品的記錄,此SQL語句為(D)。
A. SELECT * FROM 產(chǎn)品WHERE 價格>‘一次性紙杯’
B. SELECT * FROM 產(chǎn)品WHERE 價格>(SELECT * FROM 產(chǎn)品WHERE 產(chǎn)品名稱>‘ 一次性紙杯’
C. SELECT * FROM 產(chǎn)品WHERE EXISTS 產(chǎn)品名稱=‘ 一次性紙杯’
D. SELECT * FROM 產(chǎn)品WHERE 價格>(SELECT 價格FROM 產(chǎn)品WHERE 產(chǎn)品名稱=‘ 一次性紙杯’
13. 查找 student表中所有電話號碼(列名:telephone)的第一位為8或6,第三位為0的電話號碼(C)。
A. SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]%0*’
B. SELECT telephone FROM student WHERE telephone LIKE ‘(8,6)*0%’
C. SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0%’
D. SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0*’
14. 現(xiàn)有表book,字段:id (int),title (varchar), price (float); 其中id字段設(shè)為標(biāo)識, 使用insert語句向book表中插入數(shù)據(jù),以下語句錯誤的是(D)。
A. insert into book (id,title,price) values(1,’java’,100)
B. insert into book (title,price) values(‘java’,100)
C. insert into book values (1,‘java’,100)
D. insert book values(‘java’,100)
15. 現(xiàn)有表Employee,字段:id (int),firstname(varchar), lastname(varchar); 以下sql語句錯誤的是(B)。
A. select firstname+’.’+lastname as ‘name’ from employee
B. select firstname+’.’+lastname=‘name’ from employee
C. select ‘name’=firstname+’.’+lastname from employee
D. select firstname,lastname from employee
16. 在sql server 2005中,關(guān)于數(shù)據(jù)庫說法錯誤的是(C)。
A. 數(shù)據(jù)庫在磁盤上默認(rèn)的存儲位置是:SQL Server安裝路徑\Microsoft SQL Server\MSSQL\Data
B. 一個數(shù)據(jù)庫至少應(yīng)包含一個數(shù)據(jù)庫文件(*.mdf)和一個事務(wù)日志文件(*.ldf)
C. 只有當(dāng)數(shù)據(jù)庫中不存在數(shù)據(jù)的情況下,才可以進行數(shù)據(jù)庫的收縮操作。 (不超過就得了嘛)
D. 可以通過從A機器拷貝數(shù)據(jù)庫文件和事務(wù)日志文件至B機器,然后通過在B機器上執(zhí)行相應(yīng)的附加數(shù)據(jù)庫操作,實現(xiàn)數(shù)據(jù)庫從A機器到B機器的復(fù)制。
17. 現(xiàn)有書目表book,包含字段:價格price (float),類別type(char); 現(xiàn)在查詢各個類別的平均價格、類別名稱,以下語句正確的是(A)。
A. select avg(price),type from book group by type
B. select count(price),type from book group by price
C. select avg(price),type from book group by price
D. select count (price),type from book group by type
A.Select email from student where email !=null
B.Select email from student where email not is null
C.Select email from student where email <> null
D.Select email from student where email is not null
19. 現(xiàn)有訂單表orders,包含用戶信息userid, 產(chǎn)品信息 productid, 以下(D)語句能夠返回至少被訂購過兩回的productid?
A.select productid from orders where count(productid) >1
B.select productid from orders where max(productid)>1
C.select productid from orders where having count(productid)>1 group by productid
D.select productid from orders group by productid having count(productid)>1
20. 關(guān)于聚合函數(shù),以下說法錯誤的是(C)。
A. Sum返回表達(dá)式中所有數(shù)的總合,因此只能用于數(shù)字類型的列。
B. Avg返回表達(dá)式中所有數(shù)的平均值,可以用于數(shù)字型和日期型的列。
C. Max和Min可以用于字符型的列。 (張三和李四什么比?。?span lang="EN-US">
D. Count可以用于字符型的列。
21. 關(guān)于多表聯(lián)接查詢,以下(B)描述是錯誤的。
A. 外聯(lián)接查詢返回的結(jié)果集行數(shù)可能大于所有符合聯(lián)接條件的結(jié)果集行數(shù)。
B. 多表聯(lián)接查詢必須使用到JOIN關(guān)鍵字
C. 內(nèi)聯(lián)接查詢返回的結(jié)果是:所有符合聯(lián)接條件的數(shù)據(jù)。
D. 在where子句中指定聯(lián)接條件可以實現(xiàn)內(nèi)聯(lián)接查詢。
22. 創(chuàng)建一個名為’Customers’的新表,同時要求新表中包含表’clients’的所有記錄,sql語句是(A)。
A. Select * into customers from clients
B. Select into customers from clients
C. Insert into customers select * from clients
D. Insert customers select * from clients
23. 假設(shè)訂單表orders用來存儲訂單信息,cid代表客戶編號,money代表單次訂購額,現(xiàn)要查詢每個客戶的訂購次數(shù)和每個客戶的訂購總金額,下面(D)sql語句可以返回正確結(jié)果。
A. select cid,count(distinct(cid)),sum(money) from orders group by cid
B. select cid,count(distinct(cid)),sum(money) from orders order by cid
C. select cid,count(cid),sum(money) from orders order by cid
D. select cid,count(cid),sum(money) from orders group by cid
24. 現(xiàn)有客戶表customers(主鍵:客戶編號cid),包含10行數(shù)據(jù),訂單表orders(外鍵:客戶編號cid),包含6條數(shù)據(jù)。執(zhí)行sql語句:select * from customers right outer join orders on customers.cid=orders.cid。最多返回(B)條記錄。
A.10 B.
25. 以下描述不正確的是(D)
A. 存儲過程能夠?qū)崿F(xiàn)較快的執(zhí)行速度。
B. 內(nèi)嵌表值型函數(shù)相當(dāng)于一個帶參數(shù)的視圖。
C. 不指定所有者時,調(diào)用標(biāo)量函數(shù)會出錯。
D. 可以通過視圖更改任意基表
二、 多選題(每題2分,共20分)
1. 若要刪除book表中所有數(shù)據(jù),以下語句錯誤的是(BC)。
A.truncate table book B.delete * from book
C.drop table book D.delete from book
2. 學(xué)生成績表grade中有字段score(float),現(xiàn)在要把所有在55分至60之間的分?jǐn)?shù)提高5分,以下sql語句正確的是(CD)。
A.Update grade set score=score+5
B.Update grade set score=score+5 where score>=55 or score <=60
C.Update grade set score=score+5 where score between 55 and 60
D. Update grade set score=score+5 where score >=55 and score <=60
3. 現(xiàn)有書目表book,包含字段:price (float); 現(xiàn)在查詢一條書價最高的書目的詳細(xì)信息,以下語句正確的是(BC)。
A. select top 1 * from book order by price asc
B. select top 1 * from book order by price desc
C. select top 1 * from book where price= (select max (price)from book)
D. select top 1 * from book where price= max(price)
4. 關(guān)于主鍵,以下(BD)說法是錯誤的。
A. 主鍵可以用來確保表中不存在重復(fù)的數(shù)據(jù)行。
B. 一個表必須有一個主鍵。
C. 一個表只能有一個主鍵。
D. 只能對整數(shù)型列設(shè)置主鍵。
5. 成績表grade中字段score代表分?jǐn)?shù),以下(BC)語句返回成績表中的最低分。
A. select max(score) from grade
B. select top 1 score from grade order by score asc
C. Select min(score) from grade
D. select top 1 score from grade order by score desc
6. 假定有一個用戶表,表中包含字段:userid (int)、username (varchar)、 password(varchar)、等,該表需要設(shè)置主鍵,以下說法正確的是(AB)。
A. 如果不能有同時重復(fù)的username和password,那么username和password可以組合在一起作為主鍵。
B. 此表設(shè)計主鍵時,根據(jù)選擇主鍵的最小性原則,最好采用userid作為主鍵。
C. 此表設(shè)計主鍵時,根據(jù)選擇主鍵的最小性原則,最好采用username和password作為組合鍵。 (應(yīng)該是主建IT )
D. 如果采用userid作為主鍵,那么在userid列輸入的數(shù)值,允許為空。
7. Microsoft SQL Server 2005 在安裝的時候就創(chuàng)建的示例用戶數(shù)據(jù)庫包括(AD)。
A.AdventureWorks B.Master
C.Northwind D.AdventureWorksDW
8. Sql語句:select * from students where SNO like ‘010[^0]%[A,B,C]%’,可能會查詢出的SNO是(AD)。
A.
C.01053090D09 D.
9. 關(guān)于Truncate table, 以下(AD)描述是錯誤的。
A. Truncate table 可跟Where從句,根據(jù)條件進行刪除。
B. Truncate table 用來刪除表中所有數(shù)據(jù)。
C. 觸發(fā)器對Truncate table無效。
D. delete 比Truncate table速度快。
10. 查詢語句中的ORDER BY排序方式有(AB)
A.DESC B.ASC C.GROUP BY D.AESC
三、 填空題(每空1分,共20分)
1. SQL Server 2005局部變量名字必須以_@______開頭,而全局變量名字必須以__@@_______開頭。
2. 數(shù)據(jù)完整性的類型有___實體_____完整性、__參照_____完整性、__域______完整性和_自定義_______完整性。
3. 關(guān)系R是3NF,當(dāng)且僅當(dāng)R是2NF,并且所有非PK屬性都是___依賴_______于PK
4. (26) 要成為一個事務(wù),則一個工作單元必須具有__原子性______、____一致性_____、_隔離性____和持久性屬性,即ACID屬性。
5. SQLServer的兩種授權(quán)模式分別為_windows登陸_________和_____________。
6. 每個允許有___一____個聚集索引,____非唯一_______索引是SQLServer默認(rèn)選擇。
7. 可以使用________關(guān)鍵字顯示未加密存儲過程信息,執(zhí)行存儲過程的關(guān)鍵字是_________,統(tǒng)計列平均值的聚合函數(shù)為________,修改對象的關(guān)鍵字為_______,刪除對象的關(guān)鍵字為_________。
8. _主數(shù)據(jù)文件_______數(shù)據(jù)庫保存所有的臨時表和臨時存儲過程。
四、 簡答題(8分)
1. 簡述使用索引和不使用索引的理由(8分)