當前位置:首頁 » 數據倉庫 » 如何找到更多的資料庫查詢練習題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何找到更多的資料庫查詢練習題

發布時間: 2023-02-13 05:18:08

A. 在哪裡能找到供學生練慣用的資料庫

sqlserver 和 mysql都是免費的,下個回去你愛怎麼弄就怎麼弄,弄壞了就卸了重裝(能弄壞LZ也算NB人物)

LZ可以先INSERT增加進去嘛,好歹增刪改查咱都要練是吧,,弄幾個表多表聯接查詢都能練了,還搞什麼別人的資料庫。沒必要

你想下網上到處都是,網上使用ASP+Access資料庫製作的網站中的Access怎樣下載吧。
1、下載方法比較多,如果網站沒有特殊設置,那你可以在地址欄里直接輸入資料庫名稱進行下載,資料庫名稱可以將網頁另存下來以後,分析代碼獲得,也可以根據網站使用的ASP程序,推測出來。一般使用動易2006版(小型網站比較常用的免費系統)製作的網站,資料庫名都是powereasy2006.dbf,路徑在網站根目錄下datebase文件夾下。
2、在大家都使用了一些保護方法,例如將資料庫文件後綴改為.asp或.asa。這樣,直接用瀏覽器就不能下載了。
3、當然也可以使用整站下載工具,將整個網站拉下來,進行分析。

B. SQL資料庫練習題

1.DISTINCT、top
2.convert
3.查詢、更新、管理
4.主鍵、外鍵
5.ROLLBACK TRAN、COMMIT TRAN
6.sp_renamedb
8.identity
9.插入數據的列數必須和表中列數相等
10.空
12.truncate
14.原子性、一致性、隔離性、永久性
16.count、avg、len、substring
17.cast
18.windows
19.物理數據表
20.<>、!=

C. 資料庫,SQL查詢題目

--基礎題
--1.查詢讀者最喜愛的3種圖書分類號,即借閱表中出現最多的3類圖書分類號
SELECT TOP 3 [分類號] FROM [圖書] JOIN [借閱] ON [圖書].[圖書編號]=[借閱].[圖書編號]
GROUP BY [分類號] ORDER BY COUNT(*) DESC

--附加題
--1.查詢小於20歲的讀者最喜歡的3類圖書
SELECT TOP 3 [書名] FROM [讀者] JOIN [借閱] ON [讀者].[借書證號]=[借閱].[借書證號]
JOIN [圖書] ON [圖書].[圖書編號]=[借閱].[圖書編號]
WHERE [年齡]<20 GROUP BY [書名] ORDER BY COUNT(*) DESC

--2.查詢至少借閱了 寧靜 所借圖書(書名相同)的人的姓名
SELECT [姓名] FROM [讀者] WHERE [姓名]<>'寧靜' AND [借書證號] IN(SELECT [借書證號] FROM [借閱]
WHERE [圖書編號] IN(SELECT [圖書編號] FROM [讀者] JOIN [借閱] ON [讀者].[借書證號]=[借閱].[借書證號] WHERE [姓名]='寧靜'))

--3.查詢借閱了多於3本書且每本書價均高於60的讀者的借書證號
SELECT [借書證號]
FROM [借閱] JOIN [圖書] ON [圖書].[圖書編號]=[借閱].[圖書編號]
WHERE [單價]>60 GROUP BY [借書證號] HAVING COUNT(*)>3
GO

--4.假定讀者表中所有人姓名均不多於4個漢字,請建立一個查詢語句,要求根據名字中任意1個或兩個或3個或4個漢字,即可找到該讀者的詳細信息(即完全模糊查詢)
CREATE PROCEDURE CX
@XM VARCHAR(8) AS
IF LEN(@XM)=1 SELECT * FROM [讀者] WHERE @XM LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=2 SELECT * FROM [讀者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=3 SELECT * FROM [讀者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=4 SELECT * FROM [讀者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,3,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
GO

D. 資料庫練習題

創建一個選擇查詢,按系別統計各自男女學生的平均年齡

SELECT
系,
性別,
AVG(年齡) AS 平均年齡
FROM

GROUP BY
系,
性別

上面是用 SQL 的處理方法。

樓主要求 「最好不是SQL啊」, 不知道樓主 希望是用什麼?

一步一步操作?
那要說明是什麼資料庫啊.
如果是 Access的話, 操作順序是這樣的:

1、創建一個查詢
2、在《顯示表》窗口裡面,把那個表 選中,按 添加按鈕。
3、關閉《顯示表》窗口, 進入設計窗口。
4、在表中,雙擊 系, 性別, 年齡 這3列, 加到下面的列表中。
5、在下面列表的地方,滑鼠右鍵,在彈出窗口,選擇 「匯總」
6、修改 年齡下面的 Group By, 變成 「計算」 注意,不是「總計」。
7、運行查詢。

E. 網上哪有關於 資料庫 的練習題可以做

資料庫基礎與應用練習題
http://zy.gsrtvu.cn/jxzy/kfjuzk/jsj/200604/50.html

北大資料庫上機練習題
http://e.china.com/zh_cn/level/fxzd/10001494/20031106/11567106.html

資料庫應用練習題
http://emuch.net/fanwen/view.php?id=60902

希望能對你有幫助~~加油吧~~~

F. 哪位大俠可以提供一些mysql資料庫的題庫,一定要帶答案的!將感激不盡!!

一、不定項選擇題(共40題,每小題2.5分,總分100分)
1. 資料庫管理系統的發展歷經了如下那些模型階段( ACDE )
A. 層次模型 B. 結構模型 C. 關系模型
D. 網狀模型 E.對象模型
2. 關系型資料庫的核心單元是( B )
A. 對象 B. 表
C. 行 D. 列
3. 對於關系型資料庫來說,表之間存在下面那些關系( ABC )
A. 一對一關系 B. 一對多關系
C. 多對多關系 D. 繼承關系
4. 在SQL中,下面對於數據定義語言(DDL)描述正確的是( D )。
A. DDL關心的是資料庫中的數據 B. 完成數據的增、刪、改、查操作
C. 控制對資料庫的訪問 D. 定義資料庫的結構
5. MySQL是一種( C )資料庫管理系統。
A. 層次型 B. 網路型 C. 關系型 D. 對象型
6. SQL中,下列操作有語法錯誤的是( B )
A. AGE IS NOT NULL B. NOT(AGE IS NULL)
C. SNAME=『王五』 D. SNAME=『王%』
7. SQL中,下列關於創建、管理資料庫的操作語句不正確的是( CDE )
A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant
D. Connection Instant E. Delete DATEBASE Instant
8. 在MySQL中,不存在的數據類型是( F )。
A. INT B. TEXT C. DECIMAL
D. VARCHAR E. DATETIME F. VARCHAR2
9. 在MySQL中,下列關於創建資料庫表的描述正確的是( C )。
A. 在創建表時必須設定列的約束
B. 在刪除表的時候通過外鍵約束連接在一起的表會被一同刪除
C. 在創建表時必須設置列類型
D. 通過CREATE TABLE new_t SELECT * FROM old_t復製表的同時,表的約束能夠一起被復制到新表中
10. 根據數據完整性實施的方法,可以將其分為( ACDF )
A. 實體完整性 B. 表完整性 C.域完整性
D. 引用完整性 E. 記錄完整性 F.用戶自定義完整性
11. 下面關於域完整性的方法,不正確的是( A )。
A. 主鍵約束 B. 外鍵約束 C.檢查約束
D. 非空約束 E. 默認值
12. 下面關於創建和管理索引正確的描述是( C )。
A. 創建索引是為了便於全表掃描
B. 索引會加快DELETE、UPDATE和INSERT語句的執行速度
C. 索引被用於快速找到想要的記錄
D. 大量使用索引可以提高資料庫的整體性能
13. SQL中,「AGE IN(20,22)」的語義是( D )。
A. AGE<=22 AND AGE >=20 B. AGE <22 AND AGE >20
C. AGE =20 AND AGE =22 D. AGE =20 OR AGE =22
14. 有一個關系:學生(學號,姓名,系別),規定學號的值域是8個數字組成的字元串,這一規則屬於( C )
A. 實體完整性約束 B. 參照完整性約束
C. 用戶自定義完整性約束 D. 關鍵字完整性約束
15. 下面SQL是來源於考試成績表t_exam:學號stuId、科目編號subId、成績score,考試日期:ex_date。有以下sql,它表示的意思是:( B )
Select stu_id,subId,count(*) as x
From t_exam
Where ex_date=』2008-08-08』
Group stu_id,subId
Having count(*)>1
Order by x desc
A. 找出』2008-08-08』這天某科考試2次及以上的學生記錄
B. 找出』2008-08-08』這天,某科考試2次及以上的學生記錄,考試次數多的放在前面
C. 找出』2008-08-08』這天,某科考試2次及以上的學生記錄,考試次數少的放在前面
D. 根據學號和學科分組,找出每個人考試科數,最後考試次數多的放在前面
16. EMP表如下所示,下面哪些SQL語句的返回值為3:( BD )
EMP
雇員號 雇員名 部門號 工資
001 張山 022000
010 王宏達01 1200
056 馬林生02 1000
101 趙敏 04
A. select count(*) from emp
B. select count(distinct 部門號) from emp
C. select count(*) from emp group by 雇員號
D. select count(工資) from emp
17. 下面那一項不是SELECT語句對數據的操作:( D )
A. 投影 B. 聯接 C. 並 D. 級聯
18. 下面關於SQL數據查詢操作描述正確的有:( ABD )
A. 投影操作是選擇對表中的哪些列進行查詢操作
B. 使用DISTINCT關鍵字可以過濾查詢中重復的記錄
C. 在模糊查詢中,通配符「%」表示匹配單個字元,而「_」表示匹配零個或多個字元
D. 在MySQL中使用LIMIT關鍵字限制從資料庫中返回記錄的行數
19. 在SQL語言中,條件「BETWEEN 20 AND 30」表示年齡在20到30之間,且( A )。
A. 包括20歲和30歲 B. 不包括20歲和30歲
C. 包括20歲,不包括30歲 D. 不包括20歲,包括30歲
20. SQL語言中,刪除EMP表中全部數據的命令正確的是( C )。
A. delete * from emp B. drop table emp
C. truncate table emp D. 沒有正確答案
21. 有關索引的說法錯誤的是( AD )
A. 索引的目的是為增加數據操作的速度
B. 索引是資料庫內部使用的對象
C. 索引建立得太多,會降低數據增加刪除修改速度
D. 只能為一個欄位建立索引
22. 下列哪個關鍵字在Select語句中表示所有列( A )
A. * B. ALL C. DESC D. DISTINCT
23. 在表中設置外鍵實現的是哪一類數據完整性( B )
A. 實體完整性 B. 引用完整性
C. 用戶定義的完整性 D. 實體完整性、引用完整性和用戶定義的完整性
24. 下面正確表示Employees表中有多少非NULL的Region列的SQL語句是( B )
A. SELECT count(* ) from Employees
B. SELECT count(ALL Region) from Employees
C. SELECT count(Distinct Region) from Employees
D. SELECT sum(ALL Region) from Employees
25. 下面可以通過聚合函數的結果來過濾查詢結果集的SQL子句是( C )
A. WHERE子句 B. GROUP BY子句
C. HAVING 子句 D. ORDER BY子句
26. t_score(stu_id,sub_id,score),即成績表(學號,科目編號,成績)。學生如果某科沒有考試,則該科成績錄入null。能夠獲取各位學生的平均成績的選項是( A )
A. select avg(nvl(socre,0)) from score group by stu_id
B. select stu_id,avg(sorce) from score
C. select stu_id,avg(score) from score
D. select stu_id,sum(score)/count(score) from score
27. 若要求查找S表中,姓名的第一個字為'王'的學生學號和姓名。下面列出的SQL語句中,哪個是正確的( B )
A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′
B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′
C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′
D. 全部
28. 若要求「查詢選修了3門以上課程的學生的學生號」,正確的SQL語句是( B )
A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3
B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*)> 3)
C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*)> 3
D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)>= 3
29. 對下面的查詢語句描述正確的是( D )
Select StudentID,Name,
(select count(*) from StudentExam
where StudentExam.StudentID = Student.StudentID) as ExamsTaken
from Student
order by ExamsTaken desc
A. 從Student表中查找StudentID和Name,並按照升序排列
B. 從Student表中查找StudentID和Name,並按照降序排列
C. 從Student表中查找StudentID、Name和考試次數
D. 從Student表中查找StudentID、Name,並從StudentExam表中查找與StudentID一致的學生考試次數,並按照降序排列

30. 下面題基於學生-課程資料庫中的三個基本表:
學生信息表:s(sno, sname, sex, age, dept) 主鍵為sno
課程信息表:c(cno, cname, teacher) 主鍵為cno
學生選課信息表:sc(sno, cno, grade) 主鍵為(sno, cno)
「從學生選課信息表中找出無成績的學生信息」的SQL語句是( C d )

A.

SELECT * FROM sc WHERE grade=NULL

B.

SELECT * FROM sc WHERE grade IS 『 』

C.

SELECT * FROM sc WHERE grade IS NULL

D.

SELECT * FROM sc WHERE grade =『 』

31. 當子查詢返回多行時,可以採用的解決辦法是( C )。
A. 使用聚合函數 B. Where條件判斷
C. 使用IN運算符 D. 使用Group by進行分組
32. 下面關於在子查詢中使用運算符描述不正確的是( D )。
A. 使用IN運算符用於查找欄位值屬於某一組值的行
B. 使用Exists運算符用於測試子查詢是否返回行,如果返回其值就為真
C. 使用ALL運算符用於測試子查詢結果集的所有行是否滿足指定的條件
D. 使用Any運算符用於測試子查詢結果集中的一行或多行不滿足指定的條件
33. 下面關於組合查詢描述不正確的是( D )。
A. 從一個表中獲取的數據必須和其它表中的數據具有相同的列數
B. 兩個表中相對應的列必須具有相同的數據類型
C. UNION的結果集列名與第一個SELECT語句的結果集中的列名相同
D. UNION的結果集列名與第二個SELECT語句的結果集中的列名相同
E. UNION ALL運算符返回每個數據集的所有成員
34. 下面關於聯接的描述正確的是( A )。
A. 內聯接使用比較運算符根據每個表共有的列值來匹配兩個表中的行
B. 左外聯接結果集包含從右邊的表返回的所有行
C. 右外聯接結果集包含從左邊的表返回的所有行
D. 全外聯接返回左表和右表中的所有匹配的行
35. 下面關於資料庫設計過程正確的順序描述是( C )。
A. 需求收集和分析、邏輯設計、物理設計、概念設計
B. 概念設計、需求收集和分析、邏輯設計、物理設計
C. 需求收集和分析、概念設計、邏輯設計、物理設計
D. 需求收集和分析、概念設計、物理設計、邏輯設計
36. ER圖屬於下面哪一種資料庫設計模型( B )。
A. 物理數據模型
B. 概念數據模型
C. 邏輯數據模型
D. 需求模型
37. 非主鍵必須完全依賴於主鍵列,這屬於下列範式的內容( BC )
A. 1NF B. 2NF C. 3NF D. 都沒有的
38. 如果一個欄位的數據必須來源另一個表的主鍵,那麼要在這個欄位上建立( B )。
A. PK(主鍵) B. FK(外鍵) C. UK(唯一鍵) D. 復合主鍵
39. 根據三個範式的定義,下面哪個選項的設計是正確的( C )
職工編號 姓名 工種 車間 車間主任
1001 李寧 車工 一車間 周傑
1002 王海 銑工 一車間 周傑
1003 趙亮 鉗工 二車間 吳明
1001 李寧 鉗工 二車間 吳明
A. 員工表、工種表、車間表
B. 員工表、工種表、車間表、車間主任表
C. 員工表、工種表、車間表、員工工種表、員工車間表
D. 以上設計均不正確

40. 下列說法中,哪些是正確的( BD )
A. RDBMS是資料庫管理系統的簡稱
B. 各行記錄都不能重復,是第二範式要求的
C. 在資料庫設計中一定要滿足第三範式
D. 索引越多,查詢越快,數據更新越慢

G. 我正在學習sql server 2005,我想找點練習題。

我這倒是有兩個;練習 但是是word文檔 不好復制進來 只能復制點筆試題 要機試題請發給郵件給我 我給你傳過來 郵件中說明 是目的 不然我不知道會當垃圾郵件處理的 我的郵箱是 [email protected]

針對以下題目請選擇正確答案(每道題目有一個或多個正確的答案)。針對每一道題目,所有答案都選對,則該題得分,否則不得分。
1. 資料庫設計的最終目標不包括()。 (選擇兩項)BD
A. 高效
B. 滿足範式要求
C. 安全
D. 表現設計者的技術實力
E. 易用
F. 便於將來擴展功能和容量
2. 有關數據冗餘說法錯誤的是()。(選擇一項)C
A. 資料庫中,數據存在副本的現象,就是數據冗餘。
B. 通過分類存儲,可以有效減少數據冗餘,但是會增加數據查找的復雜性。
C. 在資料庫設計階段,一定要盡最大可能避免數據冗餘,最好做到無數據冗餘。
D. 數據冗餘通常是由於資料庫設計引起的。
3. 用於表示資料庫實體之間的關系圖是()。A
A. 實體關系圖
B. 數據模型圖
C. 實體分類圖
D. 以上都不是
4. 假定有一個用戶表,表中包含欄位:userid (int)、username (varchar)、 password(varchar)等,該表需要設置主鍵,以下說法正確的是()。(選擇兩項)AB
A. 如果不能有同時重復的username和password,那麼username和password可以組合在一起作為主鍵。
B. 此表設計主鍵時,根據選擇主鍵的最小性原則,最好採用userid作為主鍵。
C. 此表設計主鍵時,根據選擇主鍵的最小性原則,最好採用username和password作為組合鍵。
D. 如果採用userid作為主鍵,那麼在userid列輸入的數值,允許為空。
5. 語句 alter table userinfo add constraint uq_userid unique(userid)執行成功後,為userinfo表的()欄位添加了()約束。B
A. userid 主鍵
B. userid 唯一
C. uq_userid 外鍵
D. uq_userid 檢查
6. 運行如下T-SQL,結果返回包含()的記錄集。A
create table scores
(
scoreid int identity(1,2),
score numeric(4,2) not null,
courseid int
)
insert int scores values(90.5,null);
insert into scores values(78.234,2);
select * from scores;
A. 1 90.50 NULL
3 78.23 2
B. 1 78.23 2
C. 1 90.50
D. 1 90.50
2 78.23 2
7. 關於子查詢,以下說法正確的是()。(選擇兩項)AC
A. 一般來說,表連接都可以用子查詢替換。
B. 一般來說,子查詢都可以用表連接替換。
C. 相對於表連接,子查詢適合於作為查詢的篩選條件。
D. 相對於表連接,子查詢適合於查看多表的數據。
8. 創建存儲過程如下:
create procere scoreproc
@scoreid int,@score numeric(4,2) output
as
select @score = score from scores where scoreid=@scoreid
正確的調用是:C
A. exec scoreproc 1,@myscore output
print @myscore
B. exec scoreproc @id = 1,@myscore output
print @myscore
C. declare @myscore numeric(4,2)
exec scoreproc 1,@myscore output
print @myscore
D. declare @myscore numeric(4,2)
exec scoreproc @id = 1,@myscore output
print @myscore
9. 假設需要設計一張表,記錄各個作者著作的所有圖書信息,表的結構如下:作者(作者名稱,圖書1,版本1,書價1,圖書二,版本2,書價2,…),該表最多符合第()範式。A
A. 一
B. 二
C. 三
D. 不符合任何範式
10. 一個學生只能就讀於一個班級,而一個班級可以同時容納多個學生,學生與班級之間是()的關系。C
A. 一對一
B. 一對多
C. 多對一
D. 多對多
11. E-R圖中,關系集用下面()來表示。B
A. 矩形
B. 橢圓形
C. 菱形
D. 圓形
12. 有如下表結構,#號打頭欄位代表主鍵或組合主鍵,一份訂單可以訂購多種產品。
產品:#產品編號,產品名稱,產品價格;
訂單:#訂單編號,#產品編號,訂購日期,訂購數量;(訂單編號與產品編號是組合主鍵)
該表最高符合第()範式。B
A. 一
B. 二
C. 三
D. 未規范化的
13. 有如下表結構,#號打頭欄位代表主鍵或組合主鍵,一份訂單可以訂購多種產品。
產品:#產品編號,產品名稱,產品價格;
訂單:#訂單編號,總價,訂購日期;
訂單子項: #子項編號,訂單編號,產品編號,訂購數量;
該表最高符合第()範式。C
A. 一
B. 二
C. 三
D. 未規范化的
14. 創建sql語句如下:
create table userInfo
(
userId int identity(-1,1), 第1行
userName nvarchar(20) not null, 第2行
cardNO char not null, 第3行
age smallint(2), 第4行
address ntext(300) 第5行
)
執行時,會在第()行出現錯誤。(選擇兩項)DE
A. 1
B. 2
C. 3
D. 4
E. 5
15. 以下關於規范設計的描述正確的是()。(選擇兩項)AD
A. 規范設計的主要目的是消除數據冗餘。
B. 規范設計往往會增加資料庫的性能。
C. 設計資料庫時,規范化程度越高越好。
D. 在規范化資料庫時,易於維護資料庫的完整性。
16. 關於存儲過程,以下說法正確的是()。(選擇一項)A
A. 不能在存儲過程中使用CREATE VIEW命令。
B. T-SQL批代碼的執行速度要快於存儲過程。
C. 存儲過程必須帶有參數。
D. 存儲過程不能返回結果集。
17. 已知有scores表,scoreid為主鍵,現在表中共有10條記錄,其中一條scoreid=21。
創建視圖:
create view view_scores
as
select * from scores
執行如下命令:
delete from view_scores where (scoreid = 21)
再執行如下命令:
select * from scores
select * from view_scores
假定上述命令全部執行成功,將各自返回()()行記錄。D
A. 10,10
B. 10,9
C. 9,10
D. 9,9
18. 設計用戶表時,身份證號為固定18位長,對該欄位最好採用()數據類型。(選擇一項)B
A. int
B. char
C. varchar
D. text
19. 授予用戶someone對scores表的一些許可權,正確的授權語句是()。(選擇一項)C
A. grant insert , update to talbe scores on someone
B. grant insert and update to table scores on someone
C. grant insert , update on scores to someone
D. grant insert and update on scores to someone
20. 建立如下資料庫表:
create talbe Department(
departID int not null primary key,
deptName varchar(20) not null
)
create table Employee(
employeeID int not null,
deptID int not null,
name varchar(20) not null
)
要想保證Employee表中每一個雇員(employee)是唯一的,且只能屬於在Department表中已經存在的部門,最有的做法是()。(選擇一項)B
A. 把employeeID和deptID設為組合主鍵。
B. 把employeeID設為主鍵,同時在deptID列上創建一個外鍵約束。
C. 把employeeID設為主鍵,同時在deptID列上創建一個檢查約束。
D. 在deptID列上創建一個唯一約束,同時在deptID列上創建一個外鍵約束。
21. 建立一張員工表,當向表中插入數據時,若不提供入職時間,就把系統當前時間作為員工入職時間插入資料庫,以下說法正確的是()。(選擇一項)D
A. 約束不能使用各種函數,所以無法實現要求的功能。
B. 可以使用CHECK約束實現,默認值採用日期函數getDate()。
C. 入職時間必須設為日期類型。
D. 可以使用DEFAULT約束實現,默認值採用日期函數getDate()。
22. 為了加快對某表查詢的速度,應對此表建立()。(選擇一項)D
A. 約束
B. 存儲過程
C. 規則
D. 索引
23. 假設有表student(學生)的設計如下:
id () 標識列
name () 學生姓名
address () 學生地址
department () 所屬院系
departmentHead () 學院主管
該表最高滿足()範式。(選擇一項)B
A. 一
B. 二
C. 三
D. 不滿足任何範式
24. 為資料庫中一個或者多個表中的數據提供另外一種查看方式的邏輯表被稱為()。(選擇一項)C
A. 存儲過程
B. 資料庫關系圖
C. 視圖
D. 表
25. 要建立一個教師表,包含姓名、職稱、級別等欄位。若插入數據時,級別欄位如果不輸入,預設值為「講師」,最合適的實現方式是()。A
A. 為「級別」欄位建立default約束。
B. 為「級別」欄位建立check約束。
C. 為教師表數據輸入編寫一個存儲過程進行控制。
26. 現有訂單表orders,包含數據如下表。若查詢既訂購了產品p01,又訂購了產品p02的顧客編號,可以執行以下()sql語句。(選擇兩項)CD

A. select distinct (cid) from orders ol where ol.pid in ('p01','p02')
B. select distinct (cid) from orders ol where ol.pid = 'p01' and ol.pid = 'p02'
C. select distinct (o1.cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02' and o2.cid = o1.cid
D. select distinct(cid) from orders where pid = 'p01' and cid in(select cid from orders where pid='p02')
27. 關於聚集索引,以下()說法是錯誤的。(選擇兩項)CD
A. 一個表最多隻能創建一個聚集索引。
B. 聚集索引比非聚集索引有更快的訪問速度。
C. 主鍵一定是聚集索引。
D. 創建了聚集索引的列不允許有重復值。
28. 關於視圖,以下()說法是錯誤的。(選擇一項)C
A. 使用視圖,可以簡化數據的使用。
B. 使用視圖,可以保護敏感數據。
C. 視圖是一種虛擬表,視圖中的數據只能來源於物理數據表,不能來源於其他視圖。
D. 視圖中指存儲了查詢語句,並不包含任何數據。
29. 常用的存儲過程不包括()。(選擇一項)D
A. sp_tables
B. sp_columns
C. sp_stored_proceres
D. sp_renametable
30. 對事務的描述錯誤的是()。(選擇2項)BD
A. 一個事務中的所有命令作為一個整體提交或者回滾。
B. 如果兩個並發事務要同時修改一個表,可能產生死鎖。
C. SQL Server默認將每條單獨的T-SQL語句視為一個事務。
D. 事務必須使用begin transaction來明確制定事務的開始。
31. 分數表scores設計如下:
courseID(課程編號)
studentID(學生編號)
score(分數)
另有一個學生信息表student,包含studentID,sname(學生姓名)。
已知並非所有學生都參加了courseID為0001的考試,現在查詢所有參加0001號課程考試及格學生的學生姓名,下面正確的是()。(選擇一項)A
A. select sname from student where studentID in (select studentID from scores where courseID = 0001 and score>=60)
B. select sname from student where studentID = (select studentID from scores where courseID = 0001 and score>=60)
C. select sname from student where studentID not in (select studentID from scores where courseID = 0001 and score<=60)
D. select sname from student where studentID exists (select studentID from scores where courseID = 0001 and score>=60)
32. 在()的列上更適合創建索引。(選擇兩項)AD
A. 需要對數據進行排序
B. 具有默認值
C. 頻繁更改
D. 頻繁搜索
33. SQL Server資料庫有2種登錄認證方式。其中在()方式下,需要客戶端應用程序連接時提供登錄時需要用戶標識和密碼。C
A. Windows身份認證。
B. 以超級用戶身份登錄。
C. SQL Server身份認證。
D. 以系統身份登錄時。
34. SQL Server資料庫中,下列不屬於T-SQL事務管理語句的是()。(選擇一項)B
A. BEGIN TRANSACTION;
B. END TRANSACTION;
C. COMMIT TRANSACTION;
D. ROLLBACK TRANSACTION;
35. 要建立一個約束,保證用戶表(user)中年齡(age)必須在16歲以上,下面語句正確的是()。(選擇一項)A
A. alter table user add constraint ck_age CHECK(age>16)
B. alter table user add constraint df_age DEFAULT(16) for age
C. alter table user add constraint uq_age UNIQUE(age>16)
D. alter table user add constraint df_age DEFAULT(16)
36. SQL Server資料庫中,包含兩個表:Order訂單表,Item訂單子項目表。當一個新訂單被加入時,數據要分別保存到Order和Item表,要保證數據完整性,可以使用以下()語句。(選擇一項)C
A. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
INSERT INTO Items VALUES(此處省略)
END TRASACTION
B. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
INSERT INTO Items VALUES(此處省略)
IF(@@Erro = 0)
COMMIT TRASACTION
ELSE
ROLLBACK TRASACTION
C. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
IF(@@Erro = 0)
INSERT INTO Items VALUES(此處省略)
IF(@@Erro = 0)
COMMIT TRASACTION
ELSE
ROLLBACK TRASACTION
ELSE
ROLLBACK TRASACTION
D. BEGIN TRASACTION
INSERT INTO Order VALUES(此處省略)
INSERT INTO Items VALUES(此處省略)
IF(@@Erro <> 0)
ROLLBACK TRASACTION
37. 現有一個學生信息表student,包含主鍵studentID(學生編號)。又有分數表scores,包含studentID(學生編號)、以及score(考試分數)。已知student表中共有50個學生,有45人參加了考試(分數存在scores表中),其中10人不及格。執行以下SQL語句:
select * from student where exists(select studentId form score where score<60)
可返回()條記錄。(選擇一項)A
A. 50
B. 45
C. 10
D. 0
38. create table student
(
id int identity(1,1),
name varchar(20)
)
alter table student add constraint uq_name unique(name)
insert into student values(null)
insert into student values(null)
insert into student values('jack')
insert into student values('jack')
依次執行以上SQL語句後,student表中存在()行記錄。B
A. 1
B. 2
C. 3
D. 4
39. 已知employee表中具有默認約束df_email,刪除該約束的語句為()。(選擇一項)A
A. alter talbe employee drop constraint df_email
B. alter talbe employee remove constraint df_email
C. alter talbe employee delete constraint df_email
D. remove constraint df_email from talbe employee
40. 在employee表的firstname欄位上建立的非聚集索引的物理效果是()。(選擇一項)D
A. 所有的行按照firstname欄位值升序排列並物理地存儲在數據頁中
B. 索引中的項按照索引鍵值的順序存儲,但表中信息的順序保持不變。
C. 所有的行按照firstname欄位值降序排列並物理地存儲在數據頁中
D. 所有的行被物理地存儲在數據頁上,並且根據firstname欄位按照索引建立時指定的順序排列
41. 創建存儲過程的片斷如下:創建成功後,以下()調用方式是正確的。(選擇一項)B
create procere proc_score
@passed int = 60,
@count int output
as
select count(*) from scores where score < @passed
A. execute proc_score @count int output
B. declare @count int
execute proc_score 70,@count output
C. declare @count int output
execute proc_score 70,@count
D. execute proc_score 70,@count output
42. 現有學生表Students和用戶表Users,兩表中的數據如下:
執行sql語句:select * from Users union select * from Students。下列說法正確的是()。(選擇一項)A
Users Students
userID(int) name (varchar) studentID(int) age(int)
1 Wen 1 80
2 Shu 2 75
3 Gao
4 Shui
A. 出現錯誤:name與age不是同一數據類型。
B. 正確執行,返回6行4 列。
C. 正確執行,返回6行2 列。
D. 正確執行,返回4行2列。
43. 假設有scores表的設計如下:
ID(編號,主鍵)
StudentID(學生編號)
CourseID(課程編號)
Score(分數)
現在要查詢參加過至少兩門課程考試的學生各門課程的平均成績。以下SQL語句正確的是()。(選擇一項)A
A. select StudentID,avg(score) from scores group by StudentID having count(studentID)>1
B. select StudentID,avg(score) from scores group by StudentID where count(studentID)>1
C. select StudentID,avg(score) from scores group by StudentID where count(studentID)>1 group by StudentID
D. select StudentID,avg(score) from scores having count(studentID)>1
44. 假設orders表中存在orderid等於1的紀錄,執行下面T-SQL:
begin transaction
delete from orders where orderid = 1
if (@@error<>0)
rollback transaction
rollback transaction
以下說法正確的是()。(選擇一項)B
A. 執行成功,orderid為1的記錄被永久刪除。
B. 執行成功,orders表沒有任何變化。
C. 執行時出現錯誤。
D. 執行成功,但事務處理並沒有結束。
45. 項目開發需要經過幾個階段,繪制資料庫的E-R圖應該在()階段進行。(選擇一項)B
A. 需求分析
B. 概要設計
C. 詳細設計
D. 代碼編寫
46. 將E-R圖轉換為表的過程中,如果實體之間存在多對多的關系,通常的做法是()。(選擇一項)B
A. 在兩個實體間建立主外鍵關系。
B. 在兩個實體間建立關聯表,把一個多對多的關系分解成兩個一對多的關系。
C. 在兩個實體間建立關聯表,把一個多對多的關系分解成兩個一對一的關系。
D. 在兩個實體間不建立任何關系。
47. 某個欄位希望存放電話號碼,該欄位應選用()數據類型。
A. char(10)
B. text
C. varchar(13)
D. int
48. 運行以下語句得到的結果是()C
use javaWebDB
create table numbers
(
N1 INT,
N2 NUMERIC(5,0),
N3 NUMERIC(4,2),
)
INSERT numbers VALUES(100,100.5,10.5)
select * from numbers
A. 返回100,100,10.5的結果集
B. 返回100,100,10.50的結果集
C. 返回100,101,10.50的結果集
D. 語句無法全部成功執行
49. 資料庫事務處理具有如下特徵(),被簡稱為ACID。(選擇四項)ACEF
A. 原子性
B. 安全性
C. 隔離性
D. 完整性
E. 持久性
F. 一致性
50. SQL語言集數據查詢、數據操縱、數據定義和數據控制功能於一體,其中,CREATE、DROP、ALTER語句是實現哪種功能( )。C
A. 數據查詢
B. 數據操縱
C. 數據定義
D. 數據控制

H. 資料庫練習題。

前2題很簡單同上, 網頁不讓我貼上去. 呵呵 ^_^3. select 圖書表.書名 , 借閱表.借書日期 from 讀者表 , 借閱表 , 圖書表 where 讀者表.姓名 =「李%」 and 借閱表.借書證號 = 讀者表.借書證號 and 借閱表.總編號 = 圖書表.總編號4. select 借閱表.借書證號 from 圖書表 , 借閱表 where 借閱表.總編號 = 圖書表.總編號 and 書名 = "SQL Server大全"5. select 讀者表.姓名 , 讀者表.所在單位 , 借閱表.借書日期 from 讀者表 , 借閱表 where 借閱表.借書日期 = (select 借閱表.借書日期 from 讀者表 , 借閱表 where 讀者表.姓名 = "趙正義" and 借閱表.借書證號 = 借閱表.借書證號) and 借閱表.借書證號 = 借閱表.借書證號 給你參考了5題了 希望你能在其中找到解決問題的途徑剩下的那題希望通過努力你自己能完成,那樣你就有進步了.