當前位置:首頁 » 編程語言 » sql資料庫考試題庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫考試題庫

發布時間: 2023-02-14 08:36:07

sql資料庫

第一個
select*fromswheresnoin(
selectsnofromscwherecnoin(
selectcnofromcwherecteacher='李明'
)
)

第二個
selects.sname,sc,sum(sgrade)fromsleftjoinscons.sno=sc.sno
wheresc.sgrade>=60
groupbys.sname
第三個
createindexc_cno_indexONc(cno)

㈡ SQL資料庫(簡單)簡答題

Microsoft SQL Server 2000 簡答題及其答案
1.在安裝SQL Server 2000時,「僅客戶端工具」、「伺服器和客戶端工具」及「僅連接」等安裝定義有什麼差別?

答:僅客戶端工具:僅安裝客戶端工具。伺服器和客戶端工具:同時安裝伺服器和客戶端工具。僅連接:僅安裝客戶端連接。

2.一個資料庫中包含哪幾種文件?

答:主資料庫文件,輔助數據文件,事務日誌文件。

3.事務文件和數據文件分開存放有什麼好處?

答:因為利用事務日誌備份可以將資料庫恢復到特定的即時點(如輸入不想要的數據之前的那一點)或故障發生點。在媒體恢復策略中應考慮利用事務日誌備份。

4.什麼是批處理?使用批處理有何限制?

答:包含一個或多個T-SQL語句的組,從應用程序將一次性發送到SQL Server執行,SQL Server批處理語句作為整體編譯成一個可執行單元。

限制:如不能夠在同一個批處理中更改表,然後引用新列。如在一個批處理程序中,有兩條語句。第一條語句用來在一張表中插入一個欄位,如在User表中插入員工的出生年月;第二條語句則用來引用這個列,如根據身份證號碼來推算出這個員工的出身年月並把這個值賦值給這個第一條語句創建的出身年月欄位。

5.數據檢索時,COMPUTE和COMPUTE BY產生的結果有何不同?

答:Compute:第一個為明細行 第二個為聚合函數的合計 Compute by:第一個為明細行第二個為聚合函數的小計

6.什麼是索引?索引分為哪兩種?各有什麼特點?

答:1、資料庫中的索引與書籍中的目錄類似。在一本書中,利用目錄可以快速查找所需信息,無須閱讀整本書。在資料庫中,索引使資料庫程序無須對整個表進行掃描,就可以在其中找到所需數據。 2、聚集索引和非聚集索引。

3、聚集索引的特點:行的物理位置和行在索引中的位置是相同的,每個表只能有一個聚集索引,聚集索引的平均大小大約為表大小的5%左右。

非聚集索引特點:若未指定索引類型,則默認為非聚集索引,葉節點頁的次序和表的物理存儲次序不同,每個表最多可以有249個非聚集索引,在非聚集索引創建之前創建聚集索引。

7.創建索引有什麼優點和缺點?

答:優點:索引在資料庫中的作用類似於目錄在書籍中的作用,用來提高查找信息的速度。

使用索引查找數據,無需對整表進行掃描,可以快速找到所需數據。

缺點:索引需要佔用數據表以外的物理存儲空間。創建索引和維護索引要花費一定的時間。當對表進行更新操作時,索引需要被重建,這樣降低了數據的維護速度。

8.什麼是視圖?使用視圖的優點和缺點是什麼?

答:視圖是一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。行和列數據來自由定義視圖的查詢所引用的表,並且在引用視圖時動態生成。

優點:1隱蔽資料庫的復雜性2控制用戶提取數據3簡化資料庫用戶管理 4簡化查詢

缺點:1性能:SQL Server必須把視圖的查詢轉化成對基本表的查詢,如果這個視圖是由,一個復雜的多表查詢所定義,那麼,即使是視圖的一個簡單查詢,SQL Server也,把它變成一個復雜的結合體,需要花費一定的時間。2修改限制:當用戶試圖修改視圖的某些行時,SQL Server必須把它轉化為對基本,表的某些行的修改。對於簡單視圖來說,這是很方便的,但是,對於比較復雜的,視圖,可能是不可修改的。

9. 修改視圖中的數據會受到哪些限制?

答:1、必須有許可權 2、單表視圖直接改

3、多表可在視圖中定義 instead of 觸發器.

4、對由多表連接成的視圖修改數據時,不能同時影響一個以上的基表,也不能刪除視圖中的數據

5、對視圖上的某些列不能修改,這些列是:計算列,內置函數列和行集合函數列

6、對具有NOT NULL 的列進行修改時可能會出錯。通過視圖修改或者插入數據時,必須保證未顯示的具有NOT NULL 屬性的列有值,可以是默認值,IDENTITY 等,否則不能像視圖中插入數據行。

7、如果某些列因為規則或者約束的限制不能接受從視圖插入的數據時,則插入數據可能會失敗

8、刪除基表並不刪除視圖,建議採用與表明顯不同的名字命名規則

10. 什麼是數據完整性?如果資料庫不實施數據完整性會產生什麼結果?

答:數據完整性是指數據的精確性和可靠性。它是應防止資料庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。

11.數據完整性有哪幾類?如何實施?

答:1、數據完整性分為四類:實體完整性、域完整性、參照完整性、用戶定義的完整性。

2、資料庫採用多種方法來保證數據完整性,包括外鍵、束約、規則和觸發器。系統很好地處理了這四者的關系,並針對不同的具體情況用不同的方法進行,相互交叉使用,相補缺點。

12. 什麼是主鍵約束?什麼是惟一約束?兩者有什麼區別?

答:主鍵約束:有一列或列的組合,其值能唯一的標識表中的每一行。

唯一約束:不允許資料庫表在指定列上具有相同的值,但允許有空值。

區別:一個表可以定義多個唯一約束,只能定義一個主鍵約束;空值得列上可以定義唯一約束,不能定義主鍵約束。

13.什麼是外鍵,怎樣建立外鍵約束?

答:外鍵是用於建立和加強兩個表數據之間的鏈接的一列或多列。通過將保存表中主鍵值的一列或多列添加到另一個表中,可創建兩個表之間的鏈接。這個列就成為第二個表的外鍵。

14.什麼是存儲過程?使用存儲過程有什麼好處?

答:1、是存儲在伺服器上的 Transact-SQL 語句的命名集合,是封裝重復性任務的方法,支持用戶聲明變數、條件執行以及其他強有力的編程特性。

2、存儲過程封裝了商務邏輯,確保一致的數據訪問和修改。若規則或策略有變化,則只需要修改伺服器上的存儲過程,所有的客戶端就可以直接使用

屏蔽資料庫模式的詳細資料。用戶不需要訪問底層的資料庫和資料庫內的對象

提供了安全性機制。用戶可以被賦予執行存儲過程的許可權,而不必在存儲過程引用的所有對象上都有許可權

改善性能。預編譯的 Transact-SQL 語句,可以根據條件決定執行哪一部分

減少網路通信量。客戶端用一條語句調用存儲過程,就可以完成可能需要大量語句才能完成的任務,這樣減少了客戶端和伺服器之間的請求/回答包

15.什麼是觸發器?觸發器分有什麼作用?

答:觸發器是一類特殊的存儲過程,不能被直接調用,也不傳遞或接受參數

作用:1、維護不可能在表創建時刻通過聲明性約束進行的復雜的完整性約束限制。

2、通過記錄所進行的修改以及誰進行了修改來審計表中的信息。

3、當表被修改的時候,自動給其他需要執行操作的程序發信號。

㈢ SQL資料庫題目

1、創建資料庫
create database 學生成績資料庫
on primary
(name='學生成績資料庫_mdf',
filename='e:\學生成績資料庫.mdb',
size=1,
maxsize=10,
filegrowth =10%)
log on
(name='學生成績資料庫_ldf',
filename='e:\學生成績資料庫.ldf',
size=1,
maxsize=10,
filegrowth =10%)
2、創建課程表
create table 課程表
(課程號 char(6) primary key,
課程名稱 char(20) not null,
任課教師 char(8))
3、 創建學生表
create table 學生表
(學號 char(6) primary key,
姓名 char(8) not null,
性別 char(2) constraint ck_性別 check( 性別 in ('男','女')),
民族 char(20) not null default '漢')
4、創建成績表
create table 成績表
(學號 char(6) not null foreign key(學號) references 學生表(學號),
課程號 char(6) not null foreign key(課程號) references 課程表(課程號),
分數 int constraint ck_分數 check(分數 between 0 and 150))
5、添加信息
insert 課程表(課程號,課程名)
values ('100001', '大學語文')
insert 課程表(課程號,課程名)
values ('100002', '大學英語')
6. 寫出創建成績表視圖(學號,姓名,課程號,課程名稱,成績)的代碼
create view 成績表視圖
as
select 學生表.學號,姓名,課程表.課程號,課程名稱,成績
from 學生表,課程表,成績表
where 學生表.學號=成績表.學號 and 成績表.課程號=課程表.課程號
7. 寫出計算大學語文課程成績最高分、最低分、平均分的代碼
select max(分數) '最高分數',min(分數) '最低分數',avg(分數) '平均分數'
from 成績表
where 學號 in (select 學號
from 課程表
where 課程名稱='大學語文')
8、 檢索姓李的女同學的信息:姓名、性別、民族
select 姓名,性別,民族
from 學生表
where 姓名 like '李%' and 性別='女'

㈣ SQL期末考試題,來個大神幫解答一下

  1. select fph from mz_brsf

  2. whereje > 200;

  3. 2.select sum(je) from mz_brsf

  4. where sfsj >= '2012-01-01'

  5. and sfsj < '2012-02-01';

  6. 3.delete from mz_bfsf

  7. where cfh is null;

  8. 4.update mz_bfsf

  9. set substr(sfsj,1,4) =2013

  10. where ks ='內科' ;

  11. 5. select ks, sum(je) from mz_bfsf

  12. group by ks

  13. having sum(je) >500;

  14. 6.select top 2 ys,sum(je)

  15. from mz_bfsf

  16. group by ys

  17. order by sum(je) desc;

  18. 7.update a

  19. set a.zc = b.zc

  20. from mz_bfsf a,mz_brxx b

  21. where a.ys = b.ys

㈤ SQL資料庫填空題 求大神

1、資料庫管理技術經歷了____人工管理___ ____文件管理______ __資料庫系統___ 三個階段
2 .關系模型有 ___實體完整性____,___參照完整性____ ,____用戶定義的完整性___ 三類完整性。
4、SQL SERVER 中的編程語言就是________________PL/SQL_____________語言。
5、PL/SQL 有兩種類型的游標:___顯式游標____ 和____顯式游標___ 。
6、DBMS通常提供授權功能來控制不同的用戶訪問資料庫中數據的許可權,其目的是為了資料庫的_____安全性____

㈥ 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.<>、!=

㈦ SQL資料庫幾個題目,100分懸賞!高手請進!

1、 select eno, ename,age from emp where job_title=『高級』 and gender=1

2、
∏eno, ename,age (φjob_title=『高級』 and gender=1 (emp))
注:其中的∏表示投影,φ表示選擇.

4、create index 索引名 on emp (eno)

5、select dept.dname ,count(emp .eno) from dept ,emp
where emp.dno=dept.dno
group by dename

6、select dept.dno ,dept.dname, avg(salary) from dept ,emp
where emp.dno=dept.dno and salary>3000
group by dename ,dno

㈧ SQL資料庫題目!!!急急急!!!

1)Students表:包含SNo,SName,SSex,SClass,SAge 其中SNo為主鍵
2)Courses表:包含CNo,CName,CGrade(開設學期),CScore(學分)、IsProfession(是否是專業課) 其中CNo為主鍵
3)Scores表:包含SNo,CNo,Score 其中SNo和CNo分別與Students中的SNo和Courses中的CNo有外鍵關系。
1)查詢全班年齡在20歲至24歲之間的所有學生的信息。
select * from Students where SAge>=20 and SAge<=24 (是否包含20和24,修改相關=號)
2)查詢開設學期為2的所有的專業課程號、課程名稱、和學分。
select CNo,CName,CScore from Courses where CGrade=2 and IsProfession=1(假設專業課是此值為1)
3)查詢學號為000004學生的所有課程的成績。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER JOIN Courses ON Scores.CNo=Courses.CNo where Scores.SNo='000004'
4)查詢姓名為「王明」的學生的所有及格課程的課程名稱和成績。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER Join
Courses ON Scores.CNo=Courses.CNo where Scores.SNo in (select SNo from Students where SName='王明') and Scores.Score>=60
5)查詢班級為「0401」的所有學生的課程名為「SQL資料庫管理」的成績,按成績降序的方式排列,如果成績相同,則按照學號進行排列。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER Join
Courses ON Scores.CNo=Courses.CNo where Scores.SNo in (select SNo from Students
where SClass='0401' order by Scores.Score