計科專升本-數(shù)據(jù)庫作業(yè)_第1頁
計科專升本-數(shù)據(jù)庫作業(yè)_第2頁
計科專升本-數(shù)據(jù)庫作業(yè)_第3頁
計科專升本-數(shù)據(jù)庫作業(yè)_第4頁
計科專升本-數(shù)據(jù)庫作業(yè)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗報告

學科:計算機科學與技術

課程名稱:數(shù)據(jù)庫原理

姓名:王輝

學號:2023187033

信息技術學院

實驗二:管理SQLServer2023數(shù)據(jù)庫

一、實驗目的

1.了解數(shù)據(jù)庫常用對象及組成;

2.熟悉SQL的基本概念和特點;

3.熟練掌握T-SQL語句中的數(shù)據(jù)定義的使用方法;

4.熟悉在SQLServer2023中創(chuàng)建及編輯數(shù)據(jù)庫;

5.熟練掌握SQL的數(shù)據(jù)定義子句的使用方法。

二、實驗環(huán)境

已安裝SQLServer2023企業(yè)版的計算機(13臺);

具有局域網(wǎng)網(wǎng)絡環(huán)境,有固定ip地址;

三、實驗學時

2學時

四、實驗要求

1.熟練使用ManagementStuio界面方式創(chuàng)建及編輯數(shù)據(jù)庫;

2.熟練使用T-SQL語句創(chuàng)建及編輯數(shù)據(jù)庫;

3.完成實驗報告。

五、實驗準備知識(也可參考SQLServer聯(lián)機叢書)

1.數(shù)據(jù)庫相關屬性

1)邏輯名稱:數(shù)據(jù)文件和日志文件名稱

2)文件類型:數(shù)據(jù)文件及日志文件

3)文件組:各個數(shù)據(jù)文件所屬的文件組名稱

4)初始大小:文件的最原始大小

5)自動增長:文件按指定的大小增長,也可限制到最大容量。

6)路徑:存放文件的物理目錄

7)文件名:顯示數(shù)據(jù)文件和日志文件的物理名稱

2.默認數(shù)據(jù)庫屬性

1)主數(shù)據(jù)文件為xx.mdf,日志文件為xx」og.ldf;

2)只有一個文件組Primary;

3)主數(shù)據(jù)文件初始大小為3MB,增量為1MB;

4)日志文件初始大小為1MB,增量為10%;

5)主數(shù)據(jù)文件和日志文件都存放在C:\ProgramFiles\MicrosoftSQL

Server\MSSQL.2\MSSQL\DATA目錄下,文件分別為xx.mdf和xx_log.ldf。

3.使用界面創(chuàng)建數(shù)據(jù)庫步驟

[SQLServerManagementStudio]-*【對象資源管理器】-*【數(shù)據(jù)庫】f

【新建數(shù)據(jù)庫】一設置數(shù)據(jù)庫相關屬性(名稱、大小、位置)

4.啟動SQLServer2023查詢分析器

[SQLServerManagementStudio]-*【新建查詢】

5.命令方式下創(chuàng)建數(shù)據(jù)庫

CREATEDATABASEdatabase_name/*指定數(shù)據(jù)庫名*/

ION子句]/*指定數(shù)據(jù)庫文件和文件組屬性

[LOGON子句]/*指定日志文件屬性*/

6.命令方式修改數(shù)據(jù)庫

Alterdatabasedatabase_name

{addfile<filespec>[,…n][tofilegroupfilegroupname]

Iaddlogfile<filespec>[,,??n]

|removefilelogical_file_name[withdelete]

Imodifyfile<filespec>

六、實驗內容及步驟

1、假設SQLServer服務已啟動,并以Administrator身份登錄計算機(文件名

稱自定);請分別使用Management界面方式和T-SQL語句實現(xiàn)以下操作:

1)要求在本地磁盤D創(chuàng)建一個學生-課程數(shù)據(jù)庫(名稱為student),只有

一個數(shù)據(jù)文件和日志文件,文件名稱分別為stu和stu」og,物理名稱

為stu_data.mdf和stu_log.Idf,初始大小都為3MB,增長方式分別為

10%和1皿,數(shù)據(jù)文件最大為800MB,日志文件大小不受限制。

createdatabasestudent

onprimary(

name=stu,

filename'd:\stu.mdf',

size=3,

maxsize500,

filegrowth=10)

logon(

namestu_log,

filename=*d:\stu_log.Idf1,

size=3Z

maxsizeunlimited,

filegrowth:1)

2)創(chuàng)建一個Company數(shù)據(jù)庫,該數(shù)據(jù)庫的主數(shù)據(jù)文件邏輯名稱為

Company_data,物理文件為Company,mdf,初始大小為10MB,最大尺寸

為無限大,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名稱為Company」og,

物理文件名為Company.Idf,初始大小為1MB,最大尺寸為80MB,增長

速度為IMBo

createdatabasecompany

onprimary(

namecompany,

filename'd:\company.mdf’,

size=10,

maxsizeunlimited,

filegrowth=10)

logon(

namecompany_log,

filename*d:\company_log.Idf,,

size=1t

maxsize50,

filegrowth=l)

3)創(chuàng)建數(shù)據(jù)庫DB,具有2個數(shù)據(jù)文件,文件邏輯名分別為DB_datal和

DB_data2,文件初始大小均為8MB,最大為100MB,按10%增長;只有一

個日志文件,初始大小為3MB,按10%增長;所有文件都存儲在D盤文

件夾ceshi中o

createdatabaseDB

onprimary(

nameDB_datalz

filename*d:\ceishi\DB_datal.mdf',

size=5,

maxsize=100r

filegrowth=10)f(

nameDBdata2,

filename'd:\ceishi\DB_data2.ndf',

size=5,

maxsize100,

filegrowth=10%)

logon(

name=company_log,

filename'd:\ceishi\DB_log.Idf1,

size=3,

filegrowth=10%)

2)在數(shù)據(jù)庫student中增加數(shù)據(jù)文件db2,初始大小為10MB,最大大小為

80MB,按10%增長;

usestudent

alterdatabasestudent

addfile(

name=db2,

filename='d:\DB2.ndf',

size=5,

maxsize-50,

filegrowth=10:)

3)在數(shù)據(jù)庫student中添加日志文件,保存在D盤中,初始大小為1MB,

最大無限制,增長方式按照1MB增長;

usestudent

alterdatabasestudent

addlogfile(

namestulog2z

filename=1d:\stulog2_log.Idf

size=1,

maxsize=unlimited,

filegrowth二1)

4)修改數(shù)據(jù)庫student主數(shù)據(jù)文件的大小,將主數(shù)據(jù)文件的初始大小修改

為10Mb,增長方式為20%;

usestudent

alterdatabasestudent

modifyfile(

namestu,

size=10z

filegrowth20%)

5)修改數(shù)據(jù)庫student輔助數(shù)據(jù)文件初始大小為3MB,最大為100MB,按

照10%增長,名稱為db;

usestudent

alterdatabasestudent

modifyfile(

namedb2,

newname=db,

size=10,

maxsize-100,

filegrowth=10%)

6)刪除數(shù)據(jù)庫student輔助數(shù)據(jù)文件和第二個日志文件;

usestudent

alterdatabasestudent

removefiledb

alterdatabasestudent

removefilestulog2

7)刪除數(shù)據(jù)庫company和DBO

dropdatabasecompany

dropdatabaseDB

2、將數(shù)據(jù)庫student的所有物理文件移動到'D:\xxx',并且保證邏輯數(shù)據(jù)庫不

受影響,請詳細描述解決辦法。

七'出現(xiàn)問題及解決辦法

如某些操作無法執(zhí)行,如何解決?

實驗三:使用SQLServer管理數(shù)據(jù)表

一'實驗目的

1.熟悉數(shù)據(jù)表的特點;

2.熟悉在ManagementStuio中創(chuàng)建、編輯及刪除數(shù)據(jù)表;

3.熟悉使用T-SQL創(chuàng)建、編輯及刪除數(shù)據(jù)表;

二、實驗環(huán)境

已安裝SQLServer2023企業(yè)版的計算機(13臺);

具有局域網(wǎng)環(huán)境,有固定IP;

三、實驗學時

2學時

四、實驗要求

1.了解表的結構特點;

2.了解SQLServer的基本數(shù)據(jù)類型;

3.熟悉使用T-SQL語法;

4.完成實驗報告。

五、實驗內容

請分別使用ManagementStuio及T-SQL完成以下內容:

1、請在指定數(shù)據(jù)庫內完成以下內容:

1)依據(jù)數(shù)據(jù)表的結構創(chuàng)建相對應的數(shù)據(jù)表,表結構如下所示;

學生信息表(student)

字段名稱字段類型及長度說明備注

SnoChar(9)學生學號主關鍵字

SnameChar(6)學生姓名非空

SsexChar(2)學生性別可為空

SageInt學生年齡可為空

SdeptVarChar(8)學生所在院系可為空

createtablestudent(

Snochar(9)primarykey,

Snamechar(6)notnull,

Ssexchar(2),

Sageint,

Sdeptvarchar(8)

)

課程信息表(course)

字段名稱字段類型及長度說明備注

CnoChar(4)課程編號主關鍵字

CnameVarChar(20)課程名稱非空

CpnoChar(4)先行課可為空

CcreditInt學分可為空

createtablecourse(

Cnochar(4)primarykey,

Cnamevarchar(20)notnull,

Cpnochar(4),

Ccreditint

)

選課信息表(sc)

字段名稱字段類型及長度說明備注

SnoChar(9)學生學號主關鍵字

CnoChar(4)課程編號主關鍵字

GradeInt成績可為空

createtablesc(

Snochar(9),

Cnochar(4),

Gradeintz

primarykey(Sno,Cno),

foreignkey(Sno)referencesstudent(Sno)z

foreignkey(Cno)referencescourse(Cno)

1)在表student中增加新字段”班級名稱(sclass)";

a1tertablestudentaddsclasschar(10)

2)在表student中刪除字段“班級名稱(sclass)”;

altertablestudentdropcolumnsclass

3)修改表student中字段名為“sname”的字段長度由原來的6改為8;

altertablestudentaltercolumnsnamechar(8)

4)修改表student中字段"sdept”名稱為"dept”,長度為20;

5)修改表student中sage字段名稱為sbirth,類型為smalldatetime;

6)修改表student新名稱為stu_info;

7)刪除數(shù)據(jù)表student;

droptablestudent

2、創(chuàng)建教師授課管理數(shù)據(jù)庫JSSK,并完成以下內容;

1)在數(shù)據(jù)庫JSSK中創(chuàng)建下列三張表;

表名:teachers

列名數(shù)據(jù)類型說明描述

Tno字符型,長度7主鍵教師號

Tname字符型,長度10非空姓名

Tsex字符型,長度2默認取值為“男”性別

Birthday小日期時間型允許空出生日期

Dept字符型,長度20允許空所在部門

Sid字符型,長度18身份證號

表名:lessons

列名數(shù)據(jù)類型說明描述

Cno字符型,長度10主鍵課程號

Cname字符型,長度20非空課程名

Credit短整型學分

property字符型,長度為10課程性質

表名:shouke

列名數(shù)據(jù)類型說明描述

Tno字符型,長度7主鍵教師號

Cno字符型,長度101'??課程名

Hours整數(shù)課時

useJSSK;

createtableteacher(

Tnochar(7)primarykey,

Tnamechar(10)notnull,

11

Tsexchar(2)defaultf

Birthdaydate,

Deptvarchar(20),

Tsidvarchar(18)notnull

)

createtablelessons(

Cnochar(10)primarykey,

Cnamechar(20)notnull,

Creditsmallintr

propertychar(10)

)

createtableshouke(

Tnochar⑺,

Cnochar(10),

Hoursint,

primarykey(Tno,Cn。),

foreignkey(Tno)referencesteacher(Tno)r

foreignkey(Cno)referenceslessons(Cno)

)

2)在shouke表里添加一個授課類別字段,列名為Type,類型為Char,長度為4;

altertableshoukeaddtypechar(4)

3)將shouke表的Hours的類型改為smallint;

altertableshoukealtercolumnhourssmallint

4)刪J除lessons表中的property歹U;

altertableshoukedropcolumnproperty

3、(選做)創(chuàng)建產(chǎn)品銷售數(shù)據(jù)庫CPXS,數(shù)據(jù)文件的邏輯文件名為cpxsdata,物理文件名為

D:\sql\cpxs.mdf;文件初始大小為2MB,自動增長,每次增長1MB;日志文件邏輯文

件名為cpxs」og,物理文件為D:\sql\cpxs.Idf;文件初始大小2MB,自動增長,每

次增長18%;

1)在數(shù)據(jù)庫CPXS中創(chuàng)建下列三張表;

表名:產(chǎn)品表(cp)表結構

列名數(shù)據(jù)類型說明描述

Cpbh字符型,長度6主鍵產(chǎn)品編號

Cpmc字符型,長度30非空產(chǎn)品名稱

Jg浮點型,長度8允許空價格

Kcl整型,長度4允許空庫存量

表名:銷售商(xss)表結構

列名數(shù)據(jù)類型說明描述

Xsbh字符型,長度6主鍵銷售商編號

Xsmc字符型,長度30非空銷售商名稱

Dq字符型,長度10允許空地區(qū)

Fzr字符型,長度8允許空負責人

Dh字符型,長度12允許空

Bz文本,長度16允許空備注

表名:產(chǎn)品銷售(xs§)表結構

列名數(shù)據(jù)類型說明描述

Cpbh字符型,長度6主鍵產(chǎn)品編號

Xsbh字符型,長度6主鍵銷售商編號

XssjDatetime,長度8非空銷售時間

SI整型,長度4非空數(shù)枇

Je浮點型,長度8非空金額

useCPXS

createtable

六、出現(xiàn)問題及解決方法

如數(shù)據(jù)表無法創(chuàng)建或刪除等問題:

實驗四:管理SQLServer表數(shù)據(jù)

一、實驗目的

1.熟悉數(shù)據(jù)表結構及使用特點;

2.熟悉使用ManagementStuio界面方式管理數(shù)據(jù)表數(shù)據(jù);

3.熟悉使用T-SQL語句管理數(shù)據(jù)表數(shù)據(jù)。

二、實驗環(huán)境

已安裝SQLServer2023企業(yè)版的計算機(13臺);

具有局域網(wǎng)環(huán)境,有固定IP;

三、實驗學時

2學時

四、實驗要求

1.了解SQLServer數(shù)據(jù)表數(shù)據(jù)的管理方法;

2.了解SQLServer數(shù)據(jù)類型;

3.完成實驗報告(部分題只需給出關鍵語句)。

五、實驗內容及步驟

以課本指定的數(shù)據(jù)庫為例,并依據(jù)數(shù)據(jù)表的結構創(chuàng)建相對應的數(shù)據(jù)表(student、

course^sc),請分別使用ManagementStuio界面方式及T-SQL語句實現(xiàn)進行

以下操作:

1.向各個數(shù)據(jù)表中插入如下記錄:

學生信息表(student)

SnoSnameSsexSageSdept

202318001趙菁菁女23CS

202318002李勇男20cs

202318003張力男19CS

202318004張衡男18IS

202318008張向東男20IS

202318006張向麗女20IS

202318007王芳女20cs

202318008王民生男28MA

202318009王小民女18MA

202318010李晨女22MA

202318011張毅男20WM

202318012楊磊女20EN

202318013李晨女19MA

202318014張豐毅男22CS

202318018李蕾女21EN

202318016劉社男21CM

202318017劉星耀男18CM

202318018李貴男19EN

202318019林自許男20WM

202318020必翔男21

202318021劉峰男28CS

202318022牛站強男22

202318023李婷婷女18

202318024嚴麗女20

202318028朱小鷗女30WM

課程信息表(course)

CnoCnameCpnoCcredit

1數(shù)據(jù)庫84

2數(shù)學2

3信息系統(tǒng)14

4操作系統(tǒng)63

8數(shù)據(jù)結構7-1

6數(shù)據(jù)處理2

7PASCAL語言64

8大學英語4

9計算機網(wǎng)絡4

10人工智能2

選課信息表(sc)

SnoCnoGrade

202318001178

202318002188

202318002383

202318003186

202318004174

202318008188

202318006184

202318004246

202318008289

202318006268

202318008272

202318009276

202318010296

202318010886

202318011862

20231801880

202318018888

202318001462

202318002488

202318021981

202318001888

202318021688

202318001770

2023180081068

2023180168Null

2023180178Null

2.修改CS系姓名為‘'李勇”的學生姓名為“李詠”;

updatestudentsetsnamef李詠‘

wheresname='李勇’

3.修改課程“數(shù)據(jù)處理”的學分為3學分;

updatecoursesetccredit=3

wherecname='數(shù)據(jù)處理'

4.將選修課程“1”的同學成績加8分;

updatescsetgrade=grade+5

wherecno=*11

5.將選修課程“大學英語”的同學成績加8分;

updatescsetgrade=grade+5

wherecno=(selectenofromcoursewherecname=’大學英語,)

6.將學號為“202318010”的學生信息重新設置為“王丹丹、女、20、MA”;

updatestudentsetsname=f王丹丹',ssex='女',sage=20,sdept='MA'

wheresno=f200515010,

7.刪除數(shù)據(jù)表student中無專業(yè)的學生記錄;

deletefromstudent

wheresdeptisnull

8.刪除數(shù)據(jù)表student中計算機系年齡大于28的男同學的記錄;

deletefromstudent

wheresage>25andssex=**andsdept=*MA*

9.刪除數(shù)據(jù)表course中學分低于1學分的課程信息;

deletefromcourse

whereccredit<l;

六、出現(xiàn)問題及解決辦法

如:插入數(shù)據(jù)記錄除了Insert還有什么方法?如何導出數(shù)據(jù)表中的數(shù)據(jù),或者

某些操作無法執(zhí)行,如何解決?

實驗五:數(shù)據(jù)庫單表查詢

-V實驗目的

1.掌握SELECT語句的基本語法和查詢條件表示方法;

2.掌握查詢條件表達式和使用方法;

3.掌握GROUPBY子句的作用和使用方法;

4.掌握HAVING子句的作用和使用方法;

5.掌握ORDERBY子句的作用和使用方法。

二'實驗環(huán)境

已安裝SQLServer2023企業(yè)版的計算機(13臺);

具有局域網(wǎng)環(huán)境,有固定IP;

三、實驗學時

2學時

四、實驗要求

1.了解數(shù)據(jù)庫查詢;

2.了解數(shù)據(jù)庫查詢的實現(xiàn)方式;

3.完成實驗報告;

五、實驗內容及步驟

以數(shù)據(jù)庫原理實驗4數(shù)據(jù)庫中數(shù)據(jù)為基礎,請使用T-SQL語句實現(xiàn)以下操作:

1.列出所有不姓劉的所有學生;

select*fromstudentwhereSnamenotlike'文lj%'

2.列出姓“沈”且全名為3個漢字的學生;

select*fromstudentwheresnamelike'沈_,

3.顯示在1988年以后出生的學生的基本信息;

select*fromstudentwhereSage<2023-1985

4.按照“性別、學號、姓名、年齡、院系”的順序列出學生信息,其中性別按

以下規(guī)定顯示:性別為男顯示為男生,性別為女顯示為女生,其他顯示為

“條件不明”;

select,性別,casewhenssex1男1then1男生,

whenSsex=1女1then'女生1end,

Snameas,姓名1,

Sageas*年齡Isdeptas,院系1

fromstudent

5.查詢出課程名含有“數(shù)據(jù)”字串的所有課程基本信息;

select*fromcoursewherecnamelike'為數(shù)據(jù)招,

6.顯示學號第八位或者第九位是1、2、3、4或者9的學生的學號、姓名、性

另k年齡及院系;

selects。。學號,scame姓名,ssex性別,sag一年齡,Sdept院系

fromstudent

whereSnolike*[12349]%*orSnolike1[12349]%1

7.列出同時選修“1”號課程和“2”號課程的所有學生的學號;

selectx.snofromscx,scywherexo=*1*andyo='2'

8.列出課程表中全部信息,按先修課的升序排列;

select*fromcourseorderbycpno

9.列出年齡超過平均值的所有學生名單,按年齡的降序顯示;

select*

fromstudent

wheresage>(selectavg(sage)fromstudent)

orderbysagedesc

10.按照出生年份升序顯示所有學生的學號、姓名、性別、出生年份及院系,在

結果集中列標題分別指定為“學號,姓名,性別,出生年份,院系”;

sno學號,sname姓名,ssex性別,sage年齡

fromstudent

orderbysdeptdesc

11.按照院系降序顯示所有學生的“院系,學號、姓名、性別、年齡”等信息,

其中院系按照以下規(guī)定顯示:院系為CS顯示為計算機系,院系為IS顯示為

信息系,院系為MA顯示為數(shù)學系,院系為EN顯示為外語系,院系為CM顯

示為中醫(yī)系,院系為WM顯示為西醫(yī)系,其他顯示為院系不明;

select|%M=casewhensdept=1CS'then1計算機系'

whensdept'工S'then'信息系'

whensdept='MA1then'數(shù)學系'

whensdept,EN,then'外語系,

whensdept='CM1then'中醫(yī)系'

whensdept'WM'then'西醫(yī)系'

else'院系不明,

end,

sno學號,sname姓名,ssex性別,sage年齡

fromstudent

orderbysdeptdesc

12.顯示所有院系(要求不能重復,不包括空值),并在結果集中增加一列字段

“院系規(guī)?!?,其中若該院系人數(shù)>=8則該字段值為“規(guī)模很大”,若該院系

人數(shù)大于等于4小于8則該字段值為“規(guī)模一般”,若該院系人數(shù)大于等于2

小于4則該字段值為“規(guī)模稍小”,否則顯示“規(guī)模很小”;

selectdistinctsdept所有院系.

K^M1^=casewhenCOUNT(sdept)>=5then'規(guī)模很大'

when4<-COUNT(sdept)andCOUNT(sdept)<5then,規(guī)模一般,

when2<=COUNT(sdept)andCOUNT(sdept)<4then,規(guī)模稍小,

else,規(guī)模很小,

end

fromstudent

wheresdeptisnotnull

groupbysdept

13.按照課程號、成績降序顯示課程成績在70-80之間的學生的學號、課程號及

成績;

select*fromsc

wheregrade>=70andgrade<=80

orderbycno,gradedesc

14.顯示學生信息表中的學生總人數(shù)及平均年齡,在結果集中列標題分別指定為

“學生總人數(shù),平均年齡”;

selectCOUNT(sno)as'學生總人數(shù),,AVG(sage)as'平均年齡,

fromstudent

15.顯示選修的課程數(shù)大于3的各個學生的選修課程數(shù);

selectCOUNT(eno)as1選修課程數(shù)f

fromsc

groupbysno

havingCOUNT(eno)>3

16.按課程號降序顯示選修各個課程的總人數(shù)、最高成績、最低成績及平均成績;

selectCOUNT(sno)as,總人數(shù)',MAX(grade)'最高成績',

MIN(grade)as'最低成績',AVG(grade)as'平均成績'

fromsc

groupbycno

orderbycnodesc

17.顯示平均成績大于“202318001”學生平均成績的各個學生的學號、平均成

績;

selectsnoas'學號',AVG(grade)as'平均成績'fromscgroupbysnohaving

AVG(grade)>(

selectAVG(grade)fromscrstudentwheresc.sno=student.snoand

sc-sno='200515001*)

18.顯示選修各個課程的及格的人數(shù)、及格比率;

selectcount(sno)as'及格人數(shù)Icount(sno)/COUNT(*)as'及格比率,

fromsc

wheregrade>=60

groupbyeno

19.顯示選修課程數(shù)最多的學號及選修課程數(shù)最少的學號;

selectsno,COUNT(eno)

fromsc

groupbysno

havingcount(eno)in(selectCOUNT(eno)fromscgroupbysno)

六、出現(xiàn)問題及解決辦法

如:某些查詢操作無法執(zhí)行,如何

實驗六:數(shù)據(jù)庫綜合查詢

一、實驗目的

1.掌握SELECT語句的基本語法和查詢條件表示方法;

2.掌握查詢條件種類和表示方法;

3.掌握連接查詢的表示及使用;

4.掌握嵌套查詢的表示及使用;

5.了解集合查詢的表示及使用。

二'實驗環(huán)境

已安裝SQLServer2023企業(yè)版的計算機(13臺);

具有局域網(wǎng)環(huán)境,有固定IP;

三、實驗學時

2學時

四、實驗要求

1.了解SELECT語句的基本語法格式和執(zhí)行方法;

2.了解連接查詢的表示及使用;

3.了解嵌套查詢的表示及使用;

4.了解集合查詢的表示及使用;

5.完成實驗報告;

五、實驗內容及步驟

以數(shù)據(jù)庫原理實驗8數(shù)據(jù)為基礎,請使用T-SQL語句實現(xiàn)進行以下操作:

1.查詢以'DB_'開頭,且倒數(shù)第3個字符為's’的課程的詳細情況;

select*fromcoursewherecnamelike*DB_%s_'

2.查詢名字中第2個字為'陽’的學生姓名和學號及選修的課程號、課程名;

selectco,cnamefromsc,coursecrstudents

wheres.sno=sc.snoandco=scoandsnamelike*_PH%1

3.列出選修了‘數(shù)學'或者'大學英語'的學生學號、姓名、所在院系、選修

課程號及成績;

selects.sno,sname,sdept,co,gradefromsc,coursec,students

wheres.sno=sc.snoandco=scoandcnamein('數(shù)學','大學英語')

4.查詢缺少成績的所有學生的詳細情況;

select*fromstudent

wheresnoin(selectsnofromscwheregradeisnull)

5.查詢與‘張力'(假設姓名唯一)年齡不同的所有學生的信息;

selectfromstudent

wheresage<>(selectsagefromstudentwheresname='張力')

6.查詢所選課程的平均成績大于張力的平均成績的學生學號、姓名及平均成

績;

selects.sno,snameavg(grade)fromstudentszsc

wheres.sno=sc.sno

groupbysc.sno

havingavg(grade)>(selectavg(grade)fromstudents,sc

wheres.sno=sc.sno

groupbysc.sno)

7.按照“學號,姓名,所在院系,已修學分”的順序列出學生學分的獲得情況。

其中已修學分為考試已經(jīng)及格的課程學分之和;

selects.snozsname,sdept,count(Ccredit)fromstudentszcoursec,sc

wheres.sno=sc.snoandco=scoandgrade>=60

groupbysc.sno

8.列出只選修一門課程的學生的學號、姓名、院系及成績;

selects.snozsname,sdept,gradefromstudentszsc

wheres.sno=sc.snoands.snoin(selectsnofromsc

groupbysno

havingcount(cno)=l)

9.查找選修了至少一門和張力選修課程一樣的學生的學號、姓名及課程號;

selects.snozsname,enofromstudents,sc

wheres.sno=sc.snoandenoin(s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論