![SQLServer練習(xí)題_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/1a99daff-d481-4f0f-9a24-fec18cb9a559/1a99daff-d481-4f0f-9a24-fec18cb9a5591.gif)
![SQLServer練習(xí)題_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/1a99daff-d481-4f0f-9a24-fec18cb9a559/1a99daff-d481-4f0f-9a24-fec18cb9a5592.gif)
![SQLServer練習(xí)題_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/1a99daff-d481-4f0f-9a24-fec18cb9a559/1a99daff-d481-4f0f-9a24-fec18cb9a5593.gif)
![SQLServer練習(xí)題_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/1a99daff-d481-4f0f-9a24-fec18cb9a559/1a99daff-d481-4f0f-9a24-fec18cb9a5594.gif)
![SQLServer練習(xí)題_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/1a99daff-d481-4f0f-9a24-fec18cb9a559/1a99daff-d481-4f0f-9a24-fec18cb9a5595.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、SQL Server練習(xí)題一、填空題1 .數(shù)據(jù)庫系統(tǒng)的特點分別是數(shù)據(jù)的結(jié)構(gòu)化、數(shù)據(jù)共享、數(shù)據(jù)獨立性和可控冗余度。2 .在數(shù)據(jù)庫的表中,主鍵 是指表中的某一列或幾列,它的值唯一標(biāo)識一行。Server 2005的文件包括:數(shù)據(jù)文件(.mdf或.ndf)和 日志文件 。4 .在SQL Server 2005中,要訪問某個數(shù)據(jù)庫,除了需要有一個登錄帳號 外,還必須有一個該數(shù)據(jù)庫的用戶帳號。5 .數(shù)據(jù)庫管理系統(tǒng),簡稱DBMS,它是指幫助用戶建立、使用和管理數(shù)據(jù)庫的軟件系統(tǒng)。6 .在T-SQL語言中,若要修改某張表的結(jié)構(gòu),應(yīng)該使用的修改關(guān)鍵字是ALTER ;若要創(chuàng)建一個數(shù)據(jù)庫,應(yīng)該使用的語句是 CREAT
2、E DATABASE7 .命令 Truncate Table的功能是 清空數(shù)據(jù)庫 。8 .數(shù)據(jù)完整性是指存儲在數(shù)據(jù)庫中的數(shù)據(jù)的一致性和準(zhǔn)確性,根據(jù)完整性機(jī)制所作用的數(shù)據(jù)庫對象和范圍不同,可以分為:實體完整性 、域完整性、 參照(或:引用)完整性 和 用戶自定義完整性約束等四種,其中主鍵可以實現(xiàn)實體完整性。9 .模糊查詢符號代表 任意字符 ,查詢條件 e%im代表意思是 查詢以 e開頭中間任意字符(串)且以 im結(jié)尾的字符串。10 使用索引可以減少檢索時間,根據(jù)索引的存儲結(jié)構(gòu)不同將其分為兩類:簇集索引 和 非簇集索引。Server中的變量分為兩種,全局變量和局部變量。其中全局變量的名稱以字符開始
3、,由系統(tǒng)定義和維護(hù);局部變量以字符開始,由用戶自己定義和賦值。10 .實現(xiàn)數(shù)據(jù)完整性的途徑有默認(rèn)值、約束、規(guī)則、存儲過程、觸發(fā)器等。11 .訪問SQL Server數(shù)據(jù)庫對象時,需要經(jīng)過 身份驗證 和 權(quán)限 驗證兩個階段,其中身份驗證分為 Windows驗證模式和混合驗證模式。Server使用 日志 文件記載用戶對數(shù)據(jù)庫進(jìn)行的所有操作。系統(tǒng)存儲過程的功能是顯示數(shù)據(jù)對象的相關(guān)屬性。語言中行注釋的符號為二;塊注釋的符號為 /* */ 。15 .備份是為了在數(shù)據(jù)庫遭到破壞時,能夠修復(fù),數(shù)據(jù)庫備份的類型有四種分別為:數(shù)據(jù)庫備份、日志備份、差異備份、文件和文件組備份 。16 .在SQL Server 2
4、005中,其權(quán)限分為三類,即 對象 權(quán)限、 語句 權(quán)限和 隱含 權(quán)限。17 .用戶對數(shù)據(jù)進(jìn)行添加、修改和刪除時,自動執(zhí)行的存儲過程稱為觸發(fā)器。18 .對數(shù)據(jù)進(jìn)行統(tǒng)計時,求最大值的函數(shù)是MAX() q19 .還原是指將數(shù)據(jù)庫備份加載到服務(wù)器中的過程,在SQL Server中有三種數(shù)據(jù)庫的還原模型,分別是簡單還原、完全還原、批日志還原 。是指數(shù)據(jù)轉(zhuǎn)換服務(wù) 。21 .在給數(shù)據(jù)庫改名之前,必須設(shè)置數(shù)據(jù)庫處于單用戶 狀態(tài)。22 .在一個表中主鍵的個數(shù)為:1。23 .在SQL Server 2005中,索引的順序和數(shù)據(jù)表的物理順序相同的索引是聚集索引。24 .角色是一組用戶所構(gòu)成的組,可以分為服務(wù)器角色
5、和 數(shù)據(jù)庫 角色。25 .觸發(fā)器有 3種類型,即INSERT類型、UPDATES型 和 DELETED 。26 .如果要計算表中的行數(shù),可以使用聚合函數(shù)COUNT 0 。27 .在 SQL Server 2005中修改表的結(jié)構(gòu)應(yīng)使用關(guān)鍵字ALTER,修改表中的數(shù)據(jù)應(yīng)使用關(guān)鍵字UPDATEoServer是作為 Windows系統(tǒng)的一個 服務(wù)運行的,用戶可以啟動、暫?;蛲V顾?。29 .在SQL Server 2005中,約束定義關(guān)于列中允許值的規(guī)則,是強(qiáng)制實施完整性的標(biāo)準(zhǔn)機(jī)制。使用約 束優(yōu)先于 使用 DML觸發(fā)器、規(guī)則。約束有 非空約束、缺省約束、主鍵約束、 外鍵約束、檢查約束和唯一約束 等6種類
6、型。30 .對象權(quán)限是指用戶基于數(shù)據(jù)庫對象層次上的訪問和操作權(quán)限,共有5種:SELECTINSERT DELETEUPDATE (或:事新)和 EXECUTE(或:執(zhí)行)。31 . UNION可以把兩個或多個 SELEC研句的查詢結(jié)果組合成一個結(jié)果集,使用時要求所有 SELECT語句的列數(shù)應(yīng) 相同,對應(yīng)列的數(shù)據(jù)類型相容。32 .事務(wù) 是指一個操作序列,這些操作序列要么都被執(zhí)行,要么都不被執(zhí)行。33 .差異 備份只記錄自上次完整數(shù)據(jù)庫備份后發(fā)生更改的數(shù)據(jù)。34 .在SELECTi的FROM子句中最多可以指定256個表或視圖,相互之間要用 逗號 分隔;當(dāng)所查詢的表不在當(dāng)前數(shù)據(jù)庫時,可用數(shù)據(jù)庫.所有
7、者名稱.對象名稱 格式來指出表或視圖對象。35 .刪除表命令是:drop table 。36 .計算字段的累加和的函數(shù)是:Sum()。37 .在SQL Server 2005中,一個批處理語句是以GO結(jié)束的。38 .如果要計算表中數(shù)據(jù)的平均值,可以使用的聚合函數(shù)是AVG()。39 .在SQL Server 2005中,每個數(shù)據(jù)表最多有1024個列;最多有±個簇式索引。40 .在一個復(fù)合索引中最多可以有16個關(guān)鍵字。Server使用各數(shù)據(jù)庫的 事務(wù)日志 來恢復(fù)事務(wù)。42 .在創(chuàng)建一個表的過程中,如果包含REFERENCES句,則表示在表中建立參照 性約束。43 .可以通過INSERT語
8、句,向表中添加新的紀(jì)錄或在記錄中插入部分字段的數(shù)據(jù)。44 .可以在INSERT子句中指定列名,Values字句中的數(shù)據(jù)項與指定的列名相對應(yīng),沒有列出的字段必須具有 允許NULL、 Timestamp、 IDENTITY、 Default四種定義的條件之一。語言中藪據(jù)的檢索是施壬SELECT語句及與其他一系列子句配合來完成的。46 .在SELEC喻令中, GROUP BY千句可依字段類別總計函數(shù)處理杳詢結(jié)果:而將查詢結(jié)果以某字段或運算值數(shù)據(jù)排序條件的子句是ORDER BY。47 .為了簡便處理,我們可以為表名賦予別名,以減少代碼量。使用別名時不能同時使用表名,字段名的格式。48 .在UNION操
9、作中,如果不指明ALL子句將刪除重復(fù)行。子句可以出現(xiàn)在INSERT SELECTS句中。但是不能出現(xiàn)在CREATE VIEW語句內(nèi)或子查詢內(nèi)。50 .當(dāng)向數(shù)據(jù)表中插入數(shù)據(jù)時,如果沒有明確的提供輸入值時,SQL Server自動為該列輸入指定值,則約束的類型為 DEFAULT51 .通過邏輯表達(dá)式判斷限制插入到列中的值的強(qiáng)制約束類型為CHECK。52 .允許主鍵上有空值,但不允許主鍵上有重復(fù)值的強(qiáng)制類型約束為UNIQUE。約束,只在執(zhí)行 INSERT語句時作用。54 .在創(chuàng)建DEFAULT勺束時,SQL Server將對表中現(xiàn)有的數(shù)據(jù)進(jìn)行完整件驗訐。約束在執(zhí)行 INSERT語句或UPDATE語句
10、時起作用。56 .在向表中添加強(qiáng)制性約束時,應(yīng)當(dāng)在ALTER TABL瑜令中使用 ADD CONSTRAINT?句。57 .必須是表的所有者,才能執(zhí)行CREATE INDE落句來創(chuàng)建索弓58 .視圖可以在不同數(shù)據(jù)庫中的不同表上建立,一個視圖最多可以引用1024個字段。59 .視圖隱蔽了數(shù)據(jù)庫設(shè)計的復(fù)雜 性,這使得開發(fā)者可以在不影響用戶使用數(shù)據(jù)庫的情況下改變數(shù)據(jù)庫內(nèi)容。60 .建立視圖之后,可以簡化數(shù)據(jù)庫管理,如可以通過GRANT命令為各種用戶授予在視圖上的操作權(quán)限。61 .用戶可以通過執(zhí)行系統(tǒng)存儲過程sp_helptext杳看視圖的定義信息。62 .視圖的修改和數(shù)據(jù)庫中表的修改一樣,視圖的修改
11、也是由AITER語句來完成的;視圖的刪除也與表的刪除類似,可以通過DROP語句來實現(xiàn)。63 .存儲過程在第一次執(zhí)行時進(jìn)行語法檢查和編譯。64 .不能將CREATE PROCEDURE句與其他SQL語句組合到單個批處理中,每一個批處理就是一個_GO 語句段。65 .存儲過程只能在 當(dāng)前 數(shù)據(jù)庫中創(chuàng)建。66 .為了定義接受輸入?yún)?shù)的存儲過程,需要在CREATE PROCEDURE句中生命一個或多個變量 作為參數(shù)。67 .創(chuàng)建存儲過程時,參數(shù)的默認(rèn)值必須是常量或NULL 。68 .在存儲過程中,為了輸出參數(shù),需要在CREATE PROCEDURE句中指定 OUTPUT關(guān)鍵字。69 .可以通過Crea
12、te Trigger語句來創(chuàng)建觸發(fā)器。70 .在觸發(fā)器被執(zhí)行的同時,取消觸發(fā)器的SQL語句的操作,需要使用INSTEAD OF關(guān)鍵字實現(xiàn)。約束只能根據(jù)邏輯表達(dá)式或同一表中的另外一列來驗證列值。如果應(yīng)用程序要求根據(jù)另一個表中的列驗證列值,則必須使用觸發(fā)器 。Server用DECLARE語句聲明變量。73 .使用T-SQL語句創(chuàng)建 SQL Server賬號,需要用到系統(tǒng)存儲過程sp addlogin 。74 .與權(quán)限管理相關(guān)的 T-SQ血句有三個:GRANT、 REVOKE和 DENY。75 .使用BACKUP DATABASE命令可以對數(shù)據(jù)庫進(jìn)行完全拷貝的備份。76 .使用RESTORE DAT
13、ABAS,令可以對數(shù)據(jù)庫進(jìn)行還原。二、簡答題1、簡述視圖的概念和優(yōu)點(1)概念:視圖是從一個或多個表(或視圖)導(dǎo)出的虛表,是根據(jù)用戶觀點所定義的數(shù)據(jù)庫結(jié) 構(gòu)。視圖與表不同,它所對應(yīng)的數(shù)據(jù)不進(jìn)行實際存儲,在數(shù)據(jù)庫中只存儲視圖的定義(一組符合用 戶需求的SQL SELECTS句)。(2)優(yōu)點:1)為用戶集中數(shù)據(jù),簡化用戶的數(shù)據(jù)查詢和處理;2)屏蔽數(shù)據(jù)庫的復(fù)雜性;3)簡化用戶權(quán)限的管理,增加了安全性;4)便于數(shù)據(jù)共享;5)為數(shù)據(jù)庫重構(gòu)提供一定的邏輯獨立性。2、列出SQL Server 2005中常見的數(shù)據(jù)庫對象。數(shù)據(jù)庫對象主要包括表、視圖、索引、存儲過程、觸發(fā)器和約束等。3、什么是索引索引分為哪兩種
14、(1)索引是一個單獨的、物理的數(shù)據(jù)庫結(jié)構(gòu),它是某個表中一列或若干列值的集合和相應(yīng)的指向表中物理標(biāo)志這些值的數(shù)據(jù)頁的邏輯指針清單。索引是依賴于表建立的,它提供了數(shù)據(jù)庫中編排表中數(shù)據(jù)的內(nèi)部方法。一個表的存儲是由兩部分組成的,一部分是用來存放表的數(shù)據(jù)頁面,另一部分存放索引頁面。從某種程度上,可以把數(shù)據(jù)庫看作一本書,把索引看作書的目錄,通過目錄查找書中的信息,顯然較 沒有目錄的書方便、快捷。(2)聚集索引和非聚集索引。4、創(chuàng)建索引有什么優(yōu)點和缺點(1)優(yōu)點:索引在數(shù)據(jù)庫中的作用類似于目錄在書籍中的作用,用來提高查找信息的速度。使 用索引查找數(shù)據(jù),無需對整表進(jìn)行掃描,可以快速找到所需數(shù)據(jù)。另一方面,通過
15、創(chuàng)建唯一性索引, 可以保證每一行數(shù)據(jù)的唯一性。(2)缺點:索引需要占用數(shù)據(jù)表以外的物理存儲空間。創(chuàng)建索引和維護(hù)索引要花費一定的時間。當(dāng)對表進(jìn)行更新操作時,索引需要被重建,這樣降低了數(shù)據(jù)的維護(hù)速度。5、修改視圖中的數(shù)據(jù)會受到哪些限制(1)必須有權(quán)限;(2)單表視圖可直接修改;(3)多表可在視圖中定義instead of 觸發(fā)器;(4)對由多表連接成的視圖修改數(shù)據(jù)時,不能同時影響一個以上的基表,也不能刪 除視圖中的數(shù)據(jù);(5)對視圖上的某些列不能修改,這些列是:計算列、內(nèi)置函數(shù)列和行集合函數(shù)列;(6)對具有 NOT NULL的列進(jìn)行修改時可能會出錯;通過視圖修改或者插入數(shù)據(jù)時,必須保證未顯示的具有
16、NOT NULL屬性的列有值,可以是默認(rèn)值、IDENTITY等,否則不能向視圖中插入數(shù)據(jù)行;(7)如果某些列因為規(guī)則或者約束的限制不能接受從視圖插入的數(shù)據(jù)時,則插入數(shù)據(jù)可能會失?。?8)刪除基表并不刪除視圖,建議采用與表明顯不同的名字命名規(guī)則。6、什么是數(shù)據(jù)完整性主要作用是什么數(shù)據(jù)完整性( Data Integrity )是指數(shù)據(jù)的精確性( Accuracy )和可靠性( Reliability )。 主要作用是防止數(shù)據(jù)庫中存在不符合語義規(guī)定的數(shù)據(jù)和防止因錯誤信息的輸入輸出造成無 效操作或錯誤信息。7、數(shù)據(jù)完整性有哪幾類數(shù)據(jù)完整性分為四類:實體完整性( Entity Integrity )、域
17、完整性( Domain Integrity )、 參照完整性( Referential Integrity )、用戶定義的完整性( User-definedIntegrity )。8、什么是主鍵約束什么是惟一約束兩者有什么區(qū)別(1)主鍵約束:有一列或列的組合,其值能唯一的標(biāo)識表中的每一行。(2)唯一約束:不允許數(shù)據(jù)庫表在指定列上具有相同的值,但允許有空值。(3)區(qū)別:一個表可以定義多個唯一約束,只能定義一個主鍵約束;允許空值的列上 可以定義唯一約束,不能定義主鍵約束。9、什么是存儲過程存儲過程(Stored Procedure )是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中,它
18、是數(shù)據(jù)庫中的一個重要對象。用戶通過指定存儲過程的名字并給出參數(shù)(如果 帶有參數(shù))來執(zhí)行它。10、什么是觸發(fā)器觸發(fā)器有什么作用觸發(fā)器是數(shù)據(jù)庫服務(wù)器中發(fā)生事件時自動執(zhí)行的特種存儲過程。觸發(fā)器經(jīng)常用于加強(qiáng)數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則等,利用觸發(fā)器可以方便地保持?jǐn)?shù)據(jù)庫中數(shù)據(jù)的完整性。11、簡述INSERT觸發(fā)器的工作原理當(dāng)向表中插入數(shù)據(jù)時,INSERT蟲發(fā)器觸發(fā)執(zhí)行。當(dāng)INSERT觸發(fā)器觸發(fā)時,新的記錄增加到觸發(fā)器表中和inserted表中。該inserted表是邏輯表,保存了所插入記錄的拷貝,允許用戶參考INSERT語句中的數(shù)據(jù)。觸發(fā)器可以檢查inserted表,來確定該觸發(fā)器的操作是否應(yīng)該執(zhí)行和如何
19、執(zhí)行。在inserted表中的那些記錄,總是觸發(fā)表中一行或多行記錄的冗余。12、用戶權(quán)限的種類有哪些各自的作用 對象權(quán)限、作用:決定用戶對數(shù)據(jù)庫對象所執(zhí)行的操作,包括用戶對數(shù)據(jù)庫中的表、視圖、 列或存儲過程等對象的操作權(quán)限語句權(quán)限、作用:決定用戶能否操作數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)庫對象 隱含權(quán)限、作用:控制那些只能由預(yù)定義系統(tǒng)角色的成員或數(shù)據(jù)庫對象所有者執(zhí)行的活動。三、程序閱讀題1、閱讀下面的程序段,然后簡述該程序段所完成的功能。BeginWaitfor time ' 15:43 'Create View my_viewAs Select order_date , book_number
20、 , book_id From orderformWhere book_number !< 25End該程序段的功能是:。答:系統(tǒng)在15: 43為orderform 表中訂購數(shù)量 book_number大于25本的訂購信息的 order_date、 book_number和book_id三個字段創(chuàng)建一個名為my_view的視圖。2、下面程序段的功能是:在數(shù)據(jù)庫中判斷是否存在名為my_proc的存儲過程,若存在,則刪除之,然后創(chuàng)建同名的存儲過程,該存儲過程的功能是向book表而book_id、book_name、price和publisher字段插入數(shù)據(jù)。閱讀并回答以下問題:Use boo
21、kdbGoIf Exists(Select name From Where name = ' my_procAnd Type =' )Drop Proc my_procGoCreate Proc my_proca int, b char(50),c float,d publisherInsert Into student(book_id,book_name,price,publisher)Values(a,b,c,d)Go問題:(1)填寫該程序段中空白處的內(nèi)容: _ Sysobjects_P _As(2)任寫一條調(diào)用該存儲過程的語句: 。答:(1) Sysobjects P A
22、s(2) Exec my_proc 7, 'SQL Server 2000教程',38,'北京科海集團(tuán)公司'或Exec my_proc a=7, b= 'SQL Server 2000教程',c=38,d='北京科海集團(tuán)公司'四、編程題(一)、有一個 學(xué)生課程”數(shù)據(jù)庫,數(shù)據(jù)庫中包括三個表:(1)學(xué)'生”表 Student 由學(xué)號(Sno)、姓名(Sname)、性別(SseX)、年齡(Sage)、所在系(Sdept) 五個屬性組成,可記為:Student(Sno,Sname,Ssex,Sage,Sdept) Sno 為關(guān)鍵字
23、。(2)課'程"表Course由課程號(Cno)、課程名(Cname)、先修課號(Cpno)、學(xué)分(Ccredit)四 個屬性組成,可記為:Course(Cno,Cname,Cpno,Ccredit) Cno為關(guān)鍵字。(3)學(xué)生選課”表SC由學(xué)號(Sno)、課程號(Cno)、成績(Grade)三個屬性組成,可記為: SC(Sno,Cno,Grade) (SNO, CNO)為關(guān)鍵字。完成下列操作:1、請把其中建立學(xué)生”表Student的語句寫下來,其中學(xué)號屬性不能為空,并且其值是唯一的。2、在student表中查詢Sdept是計算機(jī)的學(xué)生的所有信息,并按Sno降序排列。3、在以
24、上三個表中查詢 Ccredit為5并且Grade大于60的學(xué)生的學(xué)號、姓名和性別。4、為Course表創(chuàng)建一個名稱為 my_trig的觸發(fā)器,當(dāng)用戶成功刪除該表中的一條或多條記錄時, 觸發(fā)器自動刪除 SC表中與之有關(guān)的記錄。(注:在創(chuàng)建觸發(fā)器之前要判斷是否有同名的觸發(fā)器存在, 若存在則刪除之。)1、CREATE TABLE Student(Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(20), Ssex CHAR(1), Sage INT, Sdept CHAR(15);2、Select * From student Where Sdept ='計算機(jī)&
25、#39;Order By Sno Desc3、方法1:Select , Sname, SsexFrom student, course, scWhere = And =And = 5) And > 60)方法2:Select , Sname, SsexFrom student Inner Join sc Inner Join course On = On =Where = 5) And > 60)4、 If Exists(Select name From sysobjectsWhere name = ' my_trigAnd Type = ' tr 'Dro
26、p Trigger my_trigGoCreate Trigger my_trigOn CourseFor Delete AsDelete From scWhere Sno In (Select Sno From deleted)Go(二)數(shù)據(jù)庫中包括三個表student表(學(xué)生表)學(xué)號姓名性別年齡系別1李明男20計算機(jī)系2張然女19經(jīng)管系3許晴女18電子系course表(課程表)課程號課程名學(xué)分1SQL Server42VB33專業(yè)英語2sc表(選課表)學(xué)號課程號成績11902185227633701、把course表中課程號為2的課程的學(xué)分修改為 4。2、在student表中查詢年齡大于1
27、8的學(xué)生的所有信息,并按學(xué)號降序排列。3、在以上三個表中查詢選的課程的學(xué)分”為4,并且成績大于80的學(xué)生的學(xué)號、姓名和性別。4、創(chuàng)建一存儲過程 GetDetai舊yName ,通過輸入?yún)?shù)學(xué)生姓名(如 張然"),篩選出該學(xué)生的基 本信息,對不存在此學(xué)生姓名的輸入值,必須作一檢測,打印信息不存在此學(xué)生1、Update courseSet學(xué)分=4Where課程號=22、Select * From student Where 年齡 > 18 Order By 學(xué)號 Desc3、方法1:Select Distinct student.學(xué)號,姓名,性別From student, cour
28、se, scWhere (student.學(xué)號 =sc學(xué)號)And (course.課程號 =sc課程號)And (course.學(xué)分 =4) And (sc成績 > 80)方法2:Select Distinct student.學(xué)號,姓名,性別From student Inner Join sc Inner Join courseOn course.課程號 =sc.課程號 On student.學(xué)號 =sc.學(xué)號Where (course.學(xué)分 =4) And (sc成績 > 80)4、Create Procedure GetDetailByNameName nvarchar(1
29、0)ASIF (SELECT Count(*) FROM student WHERE生名 =Name) > 0Select *From studentWhere 姓名=NameELSEPrint '警示:不存在姓名為'+ Name + '的學(xué)生資料,(三卜查詢設(shè)計某個學(xué)籍?dāng)?shù)據(jù)庫有如下表結(jié)構(gòu):學(xué)生(學(xué)號,姓名,性別,出生日期,班級)課程(課程號,課程名稱,課程類別,課時)選課(學(xué)號,課程號,成績)請完成下列查詢要求。1 .查詢出 軟彳041'班的所有男生的學(xué)號和姓名。2 .查詢出課程名稱中含有語言”一詞的課程的所有信息。3 .查詢出“C語言”課程成績前5名的
30、學(xué)生的學(xué)號、姓名和班級。4 .查詢出各班級學(xué)生人數(shù)。5 .查詢出 計算機(jī)應(yīng)用基礎(chǔ)”課程成績高于張三同學(xué)此門課程成績的學(xué)生的學(xué)號和姓名。1. . SELECT學(xué)號,姓名FROM學(xué)生 WHERE班級=軟彳041' AND別=男2. SELECT * FROM1 程 WHERE課程名稱 LIKE %'3. SELECT TOP學(xué)生.學(xué)號,姓名,班級FROM學(xué)生JOIN選課 ON學(xué)生.學(xué)號=選課.學(xué)號JOIN課程 ON課程.課程號=選課.課程號WHERE課程名稱=語言'ORDER BY成績DESC4. SELECT®級,COUNT(*) AS 人數(shù) FROM 學(xué)生 G
31、ROUP BY®級5. SELECTS生.學(xué)號,姓名FROM學(xué)生JOIN選課ON學(xué)生.學(xué)號=選課.學(xué)號JOIN課程 ON課程.課程號=選課.課程號 WHERE課程名稱=計算機(jī)應(yīng)用基礎(chǔ)ANtMt>(SELEC械績FROM學(xué)生JOIN選課 ON學(xué)生.學(xué)號=選課.學(xué)號JOIN課程 ON課程.課程號 = 選課.課程號WHERE課程名稱=訐算機(jī)應(yīng)用基礎(chǔ)'AN姓名=張三)五、綜合應(yīng)用題(一)、學(xué)生選課系統(tǒng),主要表有:學(xué)生表(學(xué)號、姓名、性別、專業(yè)、出生年月等),選課表(學(xué)號、課程號、分?jǐn)?shù)),課程表(課程號、課程名、所屬專業(yè)、學(xué)分)要求:6. 寫出SQL語句。1)查詢所有選“ SQL
32、課程”的學(xué)生學(xué)號,姓名和專業(yè)。2)刪除所有選擇“數(shù)學(xué)”的同學(xué)的選課記錄。3)查詢有哪些課程沒有被任何同學(xué)報選。7. 創(chuàng)建存儲過程。1)、能夠查詢出選修任何課程的學(xué)生信息及相應(yīng)的分?jǐn)?shù)。2)、以表格的形式返回本課程的平均分?jǐn)?shù)。3、在課程表中增加 “No_i療段,數(shù)據(jù)類型 char(12),不可空,并將其設(shè)定為 UNIQUE約束,寫出 其命令語句。答:1、1) SELECT學(xué)號,姓名,專業(yè) FROM學(xué)生表 A,選課表 B,課程表 CWHERE A學(xué)號=B.學(xué)號 AND B.課程號=C.課程號 AND C.課程名 ='SQL'或SELECT學(xué)號,姓名,專業(yè)FROM學(xué)生表WHERE 學(xué)號
33、 IN(SELECT學(xué)號 FROM選課表 WHERE課程號 =(SELECT課程號 FROM課程表 WHERE課程名='SQL課程)2) DELETE FROM 選課表WHERE課程號IN(SELECT課程號FROM課程表WHERE課程名='數(shù)學(xué))3) SELECT * FROM 課程表WHERE 課程號 NOT IN(SELECT DISTINCT程號 FROM 選課表)2、(1) CREATE PROCEDURE xc_info kname char(16) ASSELECT a.*,用數(shù)FROM學(xué)生表a INNER JOIN選課表 bON a.學(xué)號=b.學(xué)號WHERE b
34、課程號=(SELECT課程號FROM課程表WHERE 課程名=kname)(2) CREATE PROCEDURE xca_info kname char(16) ASSELECT Av驗數(shù))FROM選課表WHERE課程號=(SELECT課程號 FROM課程表 WHERE課程名=kname)GROUP BYW 程號3、ALTER TABLE1程表ADD No_id CHAR(12) NOT NULL CONSTRAINT table_unique UNIQUE(二)、根據(jù)下面某教學(xué)管理數(shù)據(jù)庫的表結(jié)構(gòu),完成下面的程序填空題。教師(職工號,姓名,學(xué)歷,職稱)課程(課程號,課程名稱,課程類別)任課(職工號,課程號,周課時)1 .補填下面的存儲過程的定義,使其被調(diào)用時,能根據(jù)調(diào)用程序提供的教師姓名使用輸出參數(shù)返 回該教師任課的課程數(shù)。CREATE PROCEDUR胺教姓名查詢?nèi)握n課程數(shù)姓名 VARCHAR(10),碘程數(shù) INTASSELECT FROM教師JOIN任課 ON教師.職工號=任課.職工號WHERE2 .完成下面的觸發(fā)器的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年主持人聘合同(2篇)
- 2025年九年級語文教學(xué)年終總結(jié)(2篇)
- 2025年云南省鮮花訂購合同(三篇)
- 2025年二年級語文教學(xué)工作心得體會模版(3篇)
- 書店裝修小型合同樣本
- 醫(yī)療設(shè)施土方清運合同
- 清真寺裝修合同樣本
- 金華日式屋頂花園施工方案
- 度假別墅裝修合同協(xié)議
- 醫(yī)療藥品冷鏈運輸協(xié)議
- 大宗飼料原料品質(zhì)-鏡檢
- 糖尿病足與周圍血管病01課件
- 燃?xì)夤救肼毿聠T工安全教育培訓(xùn)一
- 2022年試行林木采伐管理方案
- 灌腸操作評分標(biāo)準(zhǔn)
- 企業(yè)年金基金管理機(jī)構(gòu)基本服務(wù)和收費標(biāo)準(zhǔn)規(guī)范規(guī)范行業(yè)自律公約
- 小學(xué)二年級部編人教版上冊語文期末整理復(fù)習(xí)題
- 東華醫(yī)院麻醉科QoR-40隨訪表
- DB5106∕T 16-2021 機(jī)插水稻育秧基質(zhì)制備技術(shù)規(guī)程
- 常用鋼材化學(xué)成分及力學(xué)性能
- CPIM BSCM__v3_0_VC(課堂PPT)
評論
0/150
提交評論