版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫技術及應用(SQLServer)教學單元1.7第7章
SELECT數(shù)據(jù)查詢(基本)
案例1-7教務管理SELECT數(shù)據(jù)查詢SELECT數(shù)據(jù)查詢學習導航2SELECT數(shù)據(jù)查詢知識框架3單元1.7
SELECT數(shù)據(jù)查詢(基本)能力目標能夠充分認識到SQL數(shù)據(jù)查詢是數(shù)據(jù)庫的重要技術,是數(shù)據(jù)庫的主要應用目的。熟練掌握各種查詢?yōu)閿?shù)據(jù)庫應用系統(tǒng)的開發(fā)奠定基礎能夠根據(jù)數(shù)據(jù)庫應用系統(tǒng)功能需求對表進行投影查詢、連接查詢、選擇查詢、分組統(tǒng)計查詢、限定查詢、排序查詢、保存查詢能夠閱讀并熟練書寫SELECT查詢語句和有關參數(shù)(英文)4單元1.7
SELECT數(shù)據(jù)查詢(基本)知識目標SELECT查詢語句的語法格式和應用投影、連接和選擇查詢的語法與應用分組統(tǒng)計、限定、排序和保存查詢的語法與應用素質目標培養(yǎng)與用戶溝通的能力,以便能很好地滿足用戶的應用需求通過大量的訓練,培養(yǎng)積極、自信和嚴謹?shù)墓ぷ髯黠L通過復雜的訓練,培養(yǎng)克服困難、開動腦筋、積極解決問題的能力5單元1.7
SELECT數(shù)據(jù)查詢(基本)6案例1-7教務管理SELECT數(shù)據(jù)查詢根據(jù)教務管理系統(tǒng)的功能需求,應用T-SQL的SELECT查詢語句對數(shù)據(jù)庫“EDUC”中所創(chuàng)建的表進行數(shù)據(jù)查詢(檢索)。工作任務單元1.7
SELECT數(shù)據(jù)查詢(基本)7用戶可以使用SELECT語句從數(shù)據(jù)庫中按照功能需求查詢出數(shù)據(jù)信息實現(xiàn)對關系的投影、選擇和連接的專門關系運算可以得到經(jīng)過分類、統(tǒng)計和排序處理后的查詢結果T-SQL完全支持SQL-92標準的SELECT語句SELECT語句是數(shù)據(jù)庫應用最廣泛和最重要的語句之一區(qū)別起見,對于實現(xiàn)查詢功能的SELECT語句我們稱之為SELECT查詢語句SELECT數(shù)據(jù)查詢語句的功能與特點一、SELECT查詢語句結構8SELECT表達式[,...n] --投影(計算統(tǒng)計)[INTO新表名] --保存FROM表名[,...n] --連接[WHERE邏輯表達式] --選擇[GROUPBY表達式[,...n]] --分組統(tǒng)計[HAVING邏輯表達式] --限定分組統(tǒng)計[ORDERBY表達式[,...n]] --排序SELECT…FROM一、SELECT查詢語句結構9功能與說明:對一個或多個表(基表或視圖)按一定的條件和需求進行查詢,產(chǎn)生出一個新表(即查詢結果),該新表可被顯示出來、作為表(子查詢)再應用或者被命名保存起來。SELECT語句中的子句順序非常重要,可以省略任選子句,但這些子句在使用時必須按規(guī)定的順序出現(xiàn)。SELECT查詢語句中的表達式由*|列名、常量、變量、函數(shù)和運算符構成。很多情況下表達式僅為表的列名。SELECT…FROM一、SELECT查詢語句結構10功能與說明:SELECT查詢語句作為嵌入式語言,可以嵌入在各種高級語言中實現(xiàn)對數(shù)據(jù)庫的訪問。SELECT查詢語句作為自含式語言,可以使用SSMS的【查詢編輯器】進行編輯、編譯、執(zhí)行和保存。SELECT…FROM二、SELECT子句投影查詢11SELECT[ALL|DISTINCT][TOPn]表達式[,...n]功能說明:SELECT子句主要是一個用逗號分隔的表達式列表,用于對查詢結果集進行投影操作。SELECT子句中的表達式主要為要投影的表的列名,也可以由其他常量、變量、函數(shù)和運算符構成。此外,還有一些參數(shù)可以根據(jù)需要進行選擇,下面將通過實例分別講解它們的應用。SELECT…語法二、SELECT子句投影查詢12語法:*|列名[,...n]說明:當表達式為通配符“*”時,按表中所有列名的原有順序進行投影查詢。當表達式為一個或多個列名時,按列名的順序對表進行投影查詢。1.投影某些列的值二、SELECT子句投影查詢131.投影某些列的值【例7-1】從課程表“Course”中查詢出所有數(shù)據(jù)信息。代碼SELECT*FROMCourse --通配符“*”代表投影所有列查詢結果二、SELECT子句投影查詢141.投影某些列的值【例7-2】從課程表“Course”中查詢出課程號“CID”、學分“Credit”和課程名“Cname”的數(shù)據(jù)信息。代碼SELECTCID,Credit,Cname --投影列CID,Credit,CnameFROMCourse --查詢表Course查詢結果二、SELECT子句投影查詢15語法:TOPn[PERCENT]說明:如果未指定關鍵字PERCENT,則返回查詢結果集的前n行數(shù)據(jù)。如果指定了關鍵字PERCENT,n就是查詢返回結果集行的百分比。2.
限制返回行數(shù)二、SELECT子句投影查詢16【例7-3】從學生表“Student”中查詢出前3行數(shù)據(jù)。代碼:SELECTTOP3SID,Sname,Sex,Birthdate--返回前3行數(shù)據(jù)FROMStudent查詢結果:2.
限制返回行數(shù)二、SELECT子句投影查詢17【例7-4】從學生表“Student”中查詢出前20%行數(shù)據(jù)。代碼:SELECTTOP20PERCENTSID,Sname,Sex,Birthdate--返回前20%行的數(shù)據(jù)FROMStudent查詢結果:21行數(shù)據(jù),21*20%=4.2,取整數(shù)52.
限制返回行數(shù)二、SELECT子句投影查詢18語法:All|DISTINCT功能說明:指定All(缺?。╆P鍵字將保留查詢結果集中的全部數(shù)據(jù)行。當對表進行投影操作之后,在查詢結果集中可能會出現(xiàn)重復的數(shù)據(jù)行,使用DISTINCT關鍵字可消除查詢結果集中的重復數(shù)據(jù)行。3.消除重復行二、SELECT子句投影查詢19【例7-5】從學生表“Student”中查詢出學校各專業(yè)的名稱??梢杂肈ISTINCT關鍵字消除重復的專業(yè)名稱。代碼:SELECTDISTINCTSpecialty--使用DISTINCT消除重復數(shù)據(jù)行FROMStudent查詢結果:3.消除重復行二、SELECT子句投影查詢20語法:表達式[,...n]說明:在SELECT子句的表達式中可以使用加(+)、減(?)、乘(*)、除(/)、取模(%)和字符連接(+)等運算符及各種函數(shù)進行運算,通過對表達式的計算來獲取查詢結果的列值。值得注意的是,對表中列的計算只是影響查詢結果,并不改變表中的數(shù)據(jù)。4.投影表達式的值二、SELECT子句投影查詢21【例7-6】從課程表“Course”中查詢出學分對應的課程學時(假設每18學時計1學分),顯示前5行。代碼(表達式含運算符)SELECTTOP5CID,Cname,Credit,Credit*18FROMCourse查詢結果:4.投影表達式的值二、SELECT子句投影查詢22【例7-6】從課程表“Course”中查詢出學分對應的課程學時(假設每18學時計1學分),顯示前5行。代碼(表達式含函數(shù))SELECTTOP5CID,Cname,Credit,STR(Credit*18,3,0)+'學時'FROMCourse查詢結果:4.投影表達式的值二、SELECT子句投影查詢23【例7-7】從課程表“Course”中查詢出學分和對應的課程學時,并顯示前5行。代碼(表達式為常量)SELECTTOP5CID,Cname,Credit,'學分',STR(Credit*18,3,0),'學時’FROMCourse查詢結果:4.投影表達式的值二、SELECT子句投影查詢24語法1:指定的列標題=表達式語法2:表達式[AS]指定的列標題說明:自定義列標題后,在查詢結果的標題位置將顯示指定的列標題,而不再顯示表中定義的列名。如果指定的列標題不是常規(guī)標識符(如含有空格等),則要使用分隔符界定。語法中AS關鍵字可以不選。在默認情況下,數(shù)據(jù)查詢結果顯示的列標題就是在創(chuàng)建表時用的列名,用戶可能不易識別。對于通過表達式計算出來的列(如以上幾個例子),系統(tǒng)不指定列標題,而以“無列名”標識,這樣的情況就可以為查詢結果重新指定列標題。5.自定義列標題二、SELECT子句投影查詢25【例7-8】對例7-6中得到的查詢結果用中文顯示列標題。代碼(自定義列標題):SELECTTOP5CIDAS[課程號],CnameAS[課程名],Credit學分,學時=STR(Credit*18,3,0)FROMCourse查詢結果:6.自定義列標題二、SELECT子句投影查詢26語法:函數(shù)名([ALL|DISTINCT]表達式|*)說明:與其他函數(shù)不同,聚合函數(shù)的參數(shù)一般為列名或者包含列名的表達式,主要功能是對表在指定列名表達式的值上進行縱向統(tǒng)計和計算,所以也稱之為列函數(shù)。聚合函數(shù)的參數(shù)中,ALL關鍵字表示函數(shù)對指定列的所有值進行統(tǒng)計和計算,DISTINCT關鍵字說明函數(shù)僅對指定列的唯一值(不計重復值)進行統(tǒng)計和計算,ALL為默認設置。6.投影聚合函數(shù)的值二、SELECT子句投影查詢27語法:函數(shù)名([ALL|DISTINCT]表達式|*)常用函數(shù):COUNT:統(tǒng)計列中選取的項目個數(shù)或查詢輸出的行數(shù)。SUM:計算指定的數(shù)值型列名表達式的總和。AVG:計算指定的數(shù)值型列名表達式的平均值。MAX:求出指定的數(shù)值、字符或日期型列名表達式的最大值。MIN:求出指定的數(shù)值、字符或日期型列名表達式的最小值。6.投影聚合函數(shù)的值二、SELECT子句投影查詢28【例7-9】從學生表“Student”中統(tǒng)計出男生的人數(shù)。代碼(表達式含有函數(shù)):SELECTCOUNT(*)AS人數(shù)--統(tǒng)計表中滿足條件的行數(shù)FROMStudentWHERESex='男' --選擇性別為男的行查詢結果(以文本格式輸出):人數(shù)-----------8(1行受影響)6.聚合函數(shù)(COUNT())二、SELECT子句投影查詢29【例7-10】從學生表“Student”中統(tǒng)計出專業(yè)個數(shù)。注意,DISTINCT關鍵字的作用是消除重復行,即每個專業(yè)只計一次。代碼(表達式含有函數(shù)):--統(tǒng)計表“Student”中名稱不重復的專業(yè)個數(shù)SELECTCOUNT(DISTINCTSpecialty)AS專業(yè)個數(shù)FROMStudent查詢結果(以文本格式輸出):專業(yè)個數(shù)-----------4(1行受影響)6.聚合函數(shù)(COUNT(DISTINCT))二、SELECT子句投影查詢30【例7-11】從學生表“Student”中統(tǒng)計出學生的總數(shù)、錄取分數(shù)“AScores”的最高分、最低分、總分(無實際意義,僅為舉例)和平均分。代碼(表達式含有函數(shù)):SELECT
COUNT(*)AS總人數(shù), --統(tǒng)計總數(shù)
MAX(AScores)AS最高分,MIN(AScores)AS最低分,--求最大和最小
SUM(AScores)AS總分, --求和STR(AVG(AScores),5,1)AS平均分
--求平均FROMStudent查詢結果:6.聚合函數(shù)(COUNT,MAX,SUM,AVG)三、FROM子句連接查詢31語法:FROM{表名|虛表名}[,...n]說明:指定要查詢的基表或視圖(虛表)。如果指定了一個以上的基表或視圖,則計算它們之間的笛卡兒積,與WHERE子句等值條件配合實現(xiàn)連接查詢。有關連接查詢的ANSI語法及應用將在后續(xù)課程中專門介紹。FROM…語法三、FROM子句連接查詢32【例7-12】從教務管理數(shù)據(jù)庫“EDUC”中查詢出學生的學號、姓名、所選課程名和成績信息。代碼(多表連接):SELECTStudent.SID,Sname,Cname,Scores --投影各表的列FROMStudent,SC,Course
--三個表進行笛卡兒積WHEREStudent.SID=SC.SIDANDSC.CID=Course.CID--等值連接條件查詢結果:1.指定基表三、FROM子句連接查詢33語法:表名[AS]別名說明:其中AS關鍵字可以不選。別名可以簡化表名,此外還可以實現(xiàn)自連接。2.為基表指定臨時別名三、FROM子句連接查詢34【例7-13】同上例,為基表“Student”、“Course”和“SC”指定別名為x、y和z以簡化表名。代碼:SELECTx.SID,Sname,Cname,Scores--投影各表的列FROMStudentASx,SCASy,CourseASz--為三個表指定別名WHEREx.SID=y.SIDANDy.CID=z.CID --等值條件連接2.為基表指定臨時別名三、FROM子句連接查詢35【例7-14】從選課表“SC”中查詢出選了至少兩門課程的學生的學號。代碼:第一步SELECTx.SID,x.CID,y.CIDFROMSCx,SCy--為表指定別名,實現(xiàn)自連接WHEREx.SID=y.SIDANDx.CID<>y.CID2.為基表指定臨時別名三、FROM子句連接查詢36查詢結果:說明:連接查詢結果的各行中,對于某學生的學號列“SID”,第二列課程號“x.CID”和第三列課程號“y.CID”不同,即說明這些學生選了至少兩門課程。2.為基表指定臨時別名三、FROM子句連接查詢37【例7-14】對于此例在SELECT子句中對學號進行投影,并加上DISTINCT參數(shù),則會消除查詢中重復的行。代碼:SELECTDISTINCTx.SIDAS學號FROMSCx,SCyWHEREx.SID=y.SIDANDx.CID<>y.CID 查詢結果:2.為基表指定臨時別名四、WHERE子句選擇查詢38語法:WHERE邏輯表達式說明:WHERE子句用于選擇操作,邏輯表達式用于描述查詢條件。當數(shù)據(jù)行的數(shù)據(jù)滿足查詢條件(邏輯表達式為真)時,向SELECT查詢結果集提供數(shù)據(jù),否則,其中的數(shù)據(jù)將不被采用。WHERE子句還用在DELETE和UPDATE語句中選擇表中要被刪除和修改的行。邏輯表達式:由列名、常量、變量、函數(shù)、子查詢以及比較運算符或邏輯運算符等組成,其值為真(1,'True')或假(0,'False')。WHERE邏輯表達式四、WHERE子句選擇查詢39比較運算符:
=(等于)、<>(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)【例7-15】從學生表“Student”中查詢出學生趙成剛的信息。代碼:SELECT*FROMStudentWHERESname=‘趙成剛’--比較運算查詢結果:1.比較運算符四、WHERE子句選擇查詢40【例7-16】從學生表“Student”中查詢出軟件技術專業(yè)學生的信息。代碼:SELECT*FROMStudentWHERESpecialty=‘軟件技術’--比較運算查詢結果:1.比較運算符四、WHERE子句選擇查詢41【例7-17】從學生表“Student”中查詢出到2025年滿或大于22歲的學生信息。代碼(系統(tǒng)日期2025年):SELECT*,DATEPART(year,GETDATE())-DATEPART(year,Birthdate)年齡FROMStudentWHEREDATEPART(year,GETDATE())-DATEPART(year,Birthdate)>=22查詢結果:1.比較運算符四、WHERE子句選擇查詢42AND(與)運算符【例7-18】從學生表“Student”中查詢出到2025年年滿或大于22歲的女生信息。代碼(系統(tǒng)日期2025年):SELECT*,DATEPART(year,GETDATE())-DATEPART(year,Birthdate)年齡FROMStudentWHEREDATEPART(year,GETDATE())-DATEPART(year,Birthdate)>=22ANDSex='女'--邏輯運算查詢結果:2.邏輯運算符(NOT,AND,OR)四、WHERE子句選擇查詢43NOT(非)運算符【例7-19】從學生表“Student”中查詢出到2025年不滿22歲的男生信息。代碼(系統(tǒng)日期2025年):SELECT*,DATEPART(year,GETDATE())-DATEPART(year,Birthdate)年齡FROMStudentWHERENOT(DATEPART(year,GETDATE())-DATEPART(year,Birthdate)>=22)ANDNOT(Sex='女')--邏輯運算查詢結果:2.邏輯運算符(NOT,AND,OR)四、WHERE子句選擇查詢44OR(或)運算符【例7-20】從學生表“Student”中查詢學號為2022216007和2023216089的學生信息。代碼:SELECT*FROMStudentWHERESID=‘2022216007'ORSID=‘2023216089' --邏輯運算查詢結果:2.邏輯運算符(NOT,AND,OR)四、WHERE子句選擇查詢45語法:表達式[NOT]BETWEEN開始值AND結束值說明:指表達式的值是否在開始值和結束值之間,其中表達式可以為表中的列名。表達式BETWEEN開始值AND結束值
等價于(表達式>=開始值AND表達式<=結束值)表達式NOTBETWEEN開始值AND結束值
等價于(表達式<開始值OR表達式>結束值)2.邏輯運算符(BETWEEN...AND)四、WHERE子句選擇查詢46【例7-21】從學生表“Student”中查詢出入學錄取分數(shù)在350分到360分之間的學生信息。代碼:SELECT*FROMStudentWHEREAScoresBETWEEN350AND360--范圍運算查詢結果:2.邏輯運算符(范圍運算符)四、WHERE子句選擇查詢47語法:表達式[NOT]LIKE字符串--含通配符說明:表達式的值(NOT,不)與給定符串(含通配符)相似時,邏輯表達式的值為真。通配符“_”代表一個任意字符,通配符“%”代表任意多個任意字符字符。模式匹配運算符LIKE可以實現(xiàn)對表的模糊查詢。2.邏輯運算符(LIKE(模式匹配))四、WHERE子句選擇查詢48【例7-22】從學生表“Student”中查詢出“李”姓的學生信息。代碼:SELECT*FROMStudentWHERESnameLIKE'李%'--模式匹配模糊查詢查詢結果:2.邏輯運算符(LIKE(模式匹配)))四、WHERE子句選擇查詢49【例7-23】從課程表“Course”中查詢出有關程序設計方面的課程。代碼:SELECT*FROMCourseWHERECnameLIKE'%程序設計%'--模式匹配模糊查詢查詢結果:2.邏輯運算符(LIKE(模式匹配)))四、WHERE子句選擇查詢50語法:表達式〔NOT〕IN(列表|子查詢)其中列表為:表達式[,...n]說明:表達式的值(NOT,不)與列表中任何表達式的值相等,則邏輯表達式的值為真。有關IN子查詢的應用將在后續(xù)課程中進一步介紹。2.邏輯運算符(IN(列表))四、WHERE子句選擇查詢51【例7-24】從學生表“Student”中查詢學號為2022216007和2023216089的學生信息。代碼:SELECT*FROMStudentWHERESIDIN(‘2022216007’,‘2023216089’)--列名判斷運算--等價“SID=‘202216007’ORSID=‘2023216089’”查詢結果:2.邏輯運算符(IN(列表))四、WHERE子句選擇查詢52語法:表達式IS[NOT]NULL說明:在數(shù)據(jù)庫的表中,除了必須具有值的列不允許為空外,許多列可以沒有輸入值,這時該列的值為空(NULL)。表達式的值(NOT,不)為空(NULL)時,則邏輯表達式的值為真。其中表達式可以為表中的列名,用于確定指定的列名值是否為NULL。3.謂詞運算符(ISNULL)四、WHERE子句選擇查詢53【例7-25】從教務管理數(shù)據(jù)庫“EDUC”中查詢出考試成績沒有登記的學生信息??上劝驯怼癝C”的某行的列“Scores”值改為空值“NULL(大寫,自動傾斜)”,注意不要改為0,0也是分數(shù)。代碼:SELECTStudent.SID,Sname,Cname,ScoresFROMStudent,SC,CourseWHEREStudent.SID=SC.SIDANDSC.CID=Course.CIDANDScoresISNULL--空值判斷運算查詢結果:3.謂詞運算符(ISNULL)五、GROUPBY子句分組統(tǒng)計查詢54語法:GROUPBY列表達式[,...n]說明:與列表達式(含有列名的表達式)或聚合函數(shù)配合實現(xiàn)分組統(tǒng)計。實際應用中往往需要根據(jù)某列的值進行分組統(tǒng)計與匯總。如需要從學生表中統(tǒng)計出各專業(yè)的學生總數(shù),統(tǒng)計時用“GROUPBY專業(yè)名稱”進行分組,然后計算聚合函數(shù)的值。如需要從選課表中計算出每位學生的總成績等,統(tǒng)計時用“GROUPBY學號”來進行分組,然后計算聚合函數(shù)的值。注意:在SELECT子句中投影的列表達式必須包含在聚合函數(shù)中或者出現(xiàn)在相應的GROUPBY后的列表達式之中。GROUPBY列表達式五、GROUPBY子句分組統(tǒng)計查詢55【例7-26】從學生表“Student”中查詢出各專業(yè)學生入學錄取平均分。代碼:SELECTSpecialtyAS專業(yè),平均分=str(AVG(AScores),5,1)--求各專業(yè)入學錄取平均分FROMStudentGROUPBYSpecialty
--根據(jù)專業(yè)名稱分組查詢結果:GROUPBY列名表五、GROUPBY子句分組統(tǒng)計查詢56【例7-27】從學生表“Student”中查詢出各專業(yè)的學生總數(shù),要求查詢結果顯示專業(yè)名稱和人數(shù)兩個列。代碼:SELECT專業(yè)=Specialty,人數(shù)=COUNT(*)--統(tǒng)計各專業(yè)學生人數(shù)FROMStudentGROUPBYSpecialty
--根據(jù)專業(yè)名稱分組查詢結果:GROUPBY列名表五、GROUPBY子句分組統(tǒng)計查詢57【例7-28】從選課表“SC”中統(tǒng)計出每位學生的總成績,要求查詢結果顯示出學生的學號、姓名和總成績。代碼:SELECT學號=SC.SID,姓名=Student.Sname,總成績=SUM(Scores)--求每位學生成績的總和FROMSC,StudentWHERESC.SID=Student.SID--按照學號SID分組GROUPBYSC.SID,Student.Sname查詢結果:說明:由于Student.Sname是投影列名,所以必須寫在GROUPBY子句列名表中。GROUPBY列名表六、HAVING子句限定查詢58語法:HAVING邏輯表達式說明:與GROUPBY子句配合篩選(選擇)統(tǒng)計結果。對于以上使用GROUPBY子句分組統(tǒng)計的結果,還可以根據(jù)HAVING子句中邏輯表達式指定的條件進行篩選。HAVING子句的邏輯表達式通常包含聚合函數(shù),值得注意的是聚合函數(shù)不能放在WHERE子句的邏輯表達式中。HAVING邏輯表達式六、HAVING子句限定查詢59【例7-29】從選課表“SC”和學生表“Student”中查詢總成績超過150分的學生的學號、姓名和總成績。代碼:SELECTSC.SID,Student.Sname,總成績=SUM(Scores) --求每位學生成績的總和FROMSC,StudentWHERESC.SID=Student.SIDGROUPBYSC.SID,Student.Sname--按照學號SID分組HAVINGSUM(Scores)>150--對學生總成績進行篩選HAVING邏輯表達式六、HAVING子句限定查詢60代碼:SELECT學號=SC.SID,姓名=Student.Sname,總成績=SUM(Scores) --求每位學生成績的總和FROMSC,StudentWHERESC.SID=Student.SIDGROUPBYSC.SID,Student.Sname--按照學號SID分組HAVINGSUM(Scores)>150--對學生總成績進行篩選查詢結果:說明:WHERESUM(Scores)>150是完全錯誤的,因為聚合函數(shù)SUM(Scores)不能放在WHERE子句的邏輯表達式中。HAVING邏輯表達式七、ORDERBY子句排序查詢61語法:ORDERBY{表達式[ASC/DESC]}[,...n]說明:通常表達式為表的列名。按一列或多列(最多8060個字節(jié))對查詢結果進行升序(ASC:默認)或降序(DESC)排序。如果ORDERBY子句后是一個表達式表,則系統(tǒng)將根據(jù)各列表達式的次序決定排序的優(yōu)先級,然后排序。ORDERBY無法對數(shù)據(jù)類型為varchar(max)、nvarchar(max)、varbinary(max)或xml的列使用,并只能在外查詢中使用。如果指定了SELECTDISTINCT(消除重復行),那么ORDERBY子句中的列名就必須出現(xiàn)在SELECT子句的列表中。ORDERBY列名七、ORDERBY子句排序查詢62【例7-30】從選課表“SC”和學生表“Student”中統(tǒng)計出每位學生的總成績,并將結果按照總成績降序排序。代碼:SELECTSC.SID,Student.Sname,總成績=SUM(Scores)FROMSC,StudentWHERESC.SID=Student.SIDGROUPBYSC.SID,Student.SnameORDER
BY
SUM(SCORES)DESC--按照總成績降序排序ORDERBY列名七、ORDERBY子句排序查詢63代碼:
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024成都裝修合同
- 央視《中國詩詞大會》里的11首經(jīng)典古詩詞賞析
- 2025年春季學期學校德育工作計劃
- 2025年度海洋工程鉆井平臺安全協(xié)議3篇
- 2024影院裝修工程合同書
- 《煤礦電氣系統(tǒng)的安全檢查》培訓課件2025
- 2024年魚塘場地租賃及漁業(yè)資源保護合作協(xié)議3篇
- 2024年高端住宅區(qū)聯(lián)合開發(fā)合同3篇
- 《名人傳記史玉柱》課件
- 2024房地產(chǎn)開發(fā)商與承建商建設合同
- 神經(jīng)外科進修匯報課件
- Pre-IPO階段融資策略研究
- 陶藝校本課程實施方案(教學資料)
- 2024年山東省機場管理集團威海國際機場有限公司招聘筆試參考題庫含答案解析
- 國際貨物運輸委托代理合同(中英文對照)全套
- 銀行反恐應急預案及方案
- 關于推某某同志擔任教育系統(tǒng)實職領導職務的報告(職務晉升)
- 2023消防安全知識培訓
- 騰訊營銷師認證考試題庫(附答案)
- 學校文印室外包服務 投標方案(技術方案)
- 鄰近鐵路營業(yè)線施工安全監(jiān)測技術規(guī)程 (TB 10314-2021)
評論
0/150
提交評論