/*指定查詢結(jié)果輸出列*/[INTO新表]/*指定查詢結(jié)果存入新表*/[FROM{">
SQLServer數(shù)據(jù)庫的查詢和視圖.ppt

SQLServer數(shù)據(jù)庫的查詢和視圖.ppt

ID:52417349

大?。?.28 MB

頁數(shù):86頁

時(shí)間:2020-04-05

SQLServer數(shù)據(jù)庫的查詢和視圖.ppt_第1頁
SQLServer數(shù)據(jù)庫的查詢和視圖.ppt_第2頁
SQLServer數(shù)據(jù)庫的查詢和視圖.ppt_第3頁
SQLServer數(shù)據(jù)庫的查詢和視圖.ppt_第4頁
SQLServer數(shù)據(jù)庫的查詢和視圖.ppt_第5頁
資源描述:

《SQLServer數(shù)據(jù)庫的查詢和視圖.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、第4章數(shù)據(jù)庫的查詢和視圖4.1數(shù)據(jù)庫的查詢4.2視圖4.1數(shù)據(jù)庫的查詢下面介紹SELECT語句,它是T-SQL的核心。語法主體格式如下:SELECT<輸出列>/*指定查詢結(jié)果輸出列*/[INTO新表]/*指定查詢結(jié)果存入新表*/[FROM{<表源>}[,...]]/*指定查詢?cè)矗罕砘蛞晥D*/[WHERE<條件>]/*指定查詢條件*/[GROUPBY<分組條件>]/*指定查詢結(jié)果分組條件*/[HAVING<分組統(tǒng)計(jì)條件>]/*指定查詢結(jié)果分組統(tǒng)計(jì)條件*/[ORDERBY<排序順序>]/*指定查詢結(jié)果排序順序*/4.1.1選擇查詢結(jié)果輸出列1.選擇所有列使用“*”表示選擇一個(gè)表或視

2、圖中的所有列?!纠?.1】查詢pxscj數(shù)據(jù)庫中xsb表的所有記錄。T-SQL命令如下:USEpxscjSELECT*FROMxsb4.1.1選擇查詢結(jié)果輸出列執(zhí)行結(jié)果如圖4.1所示。4.1.1選擇查詢結(jié)果輸出列2.選擇一個(gè)表中指定的列可選擇一個(gè)表中的部分列,各列名之間要以逗號(hào)分隔?!纠?.2】查詢xsb表中計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和總學(xué)分。T-SQL命令如下:SELECT學(xué)號(hào),姓名,總學(xué)分FROMxsbWHERE專業(yè)='計(jì)算機(jī)'4.1.1選擇查詢結(jié)果輸出列3.定義列別名當(dāng)希望查詢結(jié)果中的列使用自己選擇的列標(biāo)題時(shí),可以AS更改列標(biāo)題名,該列標(biāo)題稱為該列的別名?!纠?.3】查詢

3、xsb表中計(jì)算機(jī)系同學(xué)的學(xué)號(hào)、姓名和總學(xué)分,查詢結(jié)果中各列的標(biāo)題分別指定為number、name和mark。T-SQL命令如下:SELECT學(xué)號(hào)ASnumber,姓名ASname,總學(xué)分ASmarkFROMxsbWHERE專業(yè)='計(jì)算機(jī)'執(zhí)行結(jié)果如圖4.2所示。4.1.1選擇查詢結(jié)果輸出列也可以使用“列別名=表達(dá)式”更改列標(biāo)題。例如:SELECTnumber=學(xué)號(hào),name=姓名,mark=總學(xué)分FROMxsbWHERE專業(yè)='計(jì)算機(jī)'當(dāng)自定義的列標(biāo)題中含有空格時(shí),必須使用引號(hào)將標(biāo)題括起來。例如:SELECT'Studentnumber'=學(xué)號(hào),姓名AS'Studentname

4、',mark=總學(xué)分FROMxsbWHERE專業(yè)='計(jì)算機(jī)'4.1.1選擇查詢結(jié)果輸出列4.替換查詢結(jié)果中的數(shù)據(jù)在對(duì)表進(jìn)行查詢時(shí),有時(shí)希望對(duì)所查詢的某些列得到的數(shù)據(jù)進(jìn)行變換。要替換查詢結(jié)果中的數(shù)據(jù),則可使用CASE表達(dá)式,格式為:CASEWHEN條件1THEN表達(dá)式1WHEN條件2THEN表達(dá)式2……ELSE表達(dá)式END4.1.1選擇查詢結(jié)果輸出列【例4.4】查詢xsb表中計(jì)算機(jī)系各同學(xué)的學(xué)號(hào)、姓名和總學(xué)分,對(duì)其總學(xué)分按以下規(guī)則進(jìn)行替換,列標(biāo)題更改為“等級(jí)”。若總學(xué)分為空值,則替換為“尚未選課”;若總學(xué)分小于50,則替換為“不及格”;若總學(xué)分在50與52之間,則替換為“合格”;

5、若總學(xué)分大于52,則替換為“優(yōu)秀”。T-SQL命令如下:SELECT學(xué)號(hào),姓名,等級(jí)=CASEWHEN總學(xué)分ISNULLTHEN'尚未選課'WHEN總學(xué)分<50THEN'不及格'WHEN總學(xué)分>=50and總學(xué)分<=52THEN'合格'ELSE'優(yōu)秀'ENDFROMxsbWHERE專業(yè)='計(jì)算機(jī)'4.1.1選擇查詢結(jié)果輸出列執(zhí)行結(jié)果如圖4.3所示。4.1.1選擇查詢結(jié)果輸出列5.計(jì)算列值使用SELECT對(duì)列進(jìn)行查詢時(shí),在結(jié)果中除了輸出列值,也可以輸出表達(dá)式值。格式為:SELECT表達(dá)式[,表達(dá)式]【例4.5】查詢通信工程專業(yè)學(xué)生的年齡。T-SQL命令如下,執(zhí)行結(jié)果如圖4.4所示

6、。SELECT學(xué)號(hào),姓名,出生時(shí)間,year(getdate())-year(出生時(shí)間)AS年齡FROMxsbWHERE專業(yè)='通信工程'計(jì)算列值使用算術(shù)運(yùn)算符:+(加)、?(減)、*(乘)、/(除)和%(取余),其中,算術(shù)運(yùn)算符(+、?、*、/)可以用于任何數(shù)字類型的列,包括int、smallint、tinyint、decimal、numeric、float、real、money和smallmoney;%可以用于上述除money和smallmoney以外的數(shù)字類型。4.1.1選擇查詢結(jié)果輸出列圖4.4執(zhí)行結(jié)果4.1.1選擇查詢結(jié)果輸出列6.消除結(jié)果集中的重復(fù)行對(duì)表只選擇其某些

7、列時(shí),可能會(huì)出現(xiàn)重復(fù)行??梢允褂肈ISTINCT關(guān)鍵字消除結(jié)果集中的重復(fù)行,格式為:SELECTDISTINCT

8、ALL列名[,列名…]【例4.6】對(duì)pxscj數(shù)據(jù)庫的xsb表只選擇專業(yè),消除結(jié)果集中的重復(fù)行。代碼如下,執(zhí)行結(jié)果如圖4.5所示。SELECTDISTINCT專業(yè)FROMxsb與DISTINCT相反,當(dāng)使用關(guān)鍵字ALL(默認(rèn)值)時(shí),將保留結(jié)果集的所有行。4.1.1選擇查詢結(jié)果輸出列7.限制結(jié)果集返回行數(shù)如果查詢結(jié)果集的行數(shù)非常多,那么可以使用TOP選項(xiàng)限制其返回的行數(shù)。格式為:[

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。