《SELECT查詢語句》PPT課件.ppt_第1頁
《SELECT查詢語句》PPT課件.ppt_第2頁
《SELECT查詢語句》PPT課件.ppt_第3頁
《SELECT查詢語句》PPT課件.ppt_第4頁
《SELECT查詢語句》PPT課件.ppt_第5頁
已閱讀5頁,還剩71頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

2019/6/27,Microsoft SQL Server 2005,1,Lecture 5 基本SELECT查詢語句,- 目標要求: 掌握使用數據定義(DDL)定義數據庫、數據表等對象。 熟練掌握簡單查詢、嵌套查詢、連接查詢、分組與計算查詢、集合的并運算。,2019/6/27,Microsoft SQL Server 2005,2,結構化查詢語言(SQL),結構化查詢語言:一種數據庫查詢和編程語言,廣泛應用于訪問、查詢、更新和管理關系數據庫系統中的數據。 - SQL 全名是結構化查詢語言(Structured Query Language),是用于數據庫中的標準數據查詢語言,IBM 公司最早使用在其開發的數據庫系統中。1986年10月,美國 ANSI 對 SQL 進行規范后,以此作為關系型數據庫管理系統的標準語言,1987年得到國際標準組織的支持下成為國際標準。 - SQL語言包含3個部分: 數據定義(DDL)語言(如CREATE, DROP,ALTER等語句) 數據操縱(DML)語言(SELECT,INSERT, UPDATE, DELETE語句) 數據控制語言(如GRANT,REVOKE, ROLLBACK等語句),2019/6/27,Microsoft SQL Server 2005,3,數據定義語言,數據定義語言 (Data Definition Language, DDL) 是SQL語言集中,負責數據結構定義與數據庫對象定義的語言,由CREATE、ALTER與DROP三個語法所組成。,2019/6/27,Microsoft SQL Server 2005,4,CREATE指令,CREATE是負責數據庫對象的建立 CREATE DATABASE CREATE TABLE CREATE INDEX:創建數據表索引。 CREATE PROCEDURE:創建存儲過程。 CREATE FUNCTION:創建用戶自定義函數。 CREATE VIEW:創建視圖。 CREATE TRIGGER:創建觸發器。,2019/6/27,Microsoft SQL Server 2005,5,ALTER指令,ALTER ALTER 是負責數據庫對象修改的指令,例如: ALTER TABLE Tb_Student ADD column_b VARCHAR(20) NULL ; - 在數據表 Tb_Student中加入一個新的字段,名稱為 column_b,字段類型為 varchar(20),允許 NULL值。 ALTER TABLE Tb_Student DROP COLUMN column_b ; - 在數據表 Tb_Student中移除 column_b 字段。,2019/6/27,Microsoft SQL Server 2005,6,DROP指令,DROP DROP 則是刪除數據庫對象的指令,并且只需要指定要刪除的數據庫對象名稱即可,在 DDL 語法中算是最簡單的。 例如: DROP TABLE MyTable; - 刪除 MyTable 數據表。 DROP VIEW MyView; - 刪除 MyView 視圖。,2019/6/27,Microsoft SQL Server 2005,7,數據操縱語言,數據操縱語言 (Data Manipulation Language) 是SQL語言中,負責對數據庫對象執行數據存取工作的指令集,以SELECT、INSERT、UPDATE、DELETE四種指令為核心。 DML的主要功能即是存取數據,因此其語法都是以讀取與寫入數據庫為主,除了INSERT以外,其他三種指令都可能需搭配WHERE指令來過濾數據范圍,或是不加WHERE指令來存取全部的數據。,2019/6/27,Microsoft SQL Server 2005,8,INSERT指令,INSERT 是將數據插入到數據庫對象中的指令,可以插入數據的數據庫對象有數據表以及可更新視圖兩種。 基本格式有: INSERT INTO 數據表或可更新視圖名稱 (字段1,字段2,字段3, .) VALUES (值1, 值2, 值3, .) - 只需要根據對應的字段來設定插入值。 INSERT INTO 數據表或可更新視圖名稱 VALUES (值1, 值2, 值3, .) - 必須要指定所有字段的插入值。 例如: INSERT INTO MyTable (字段1,字段2,字段3,字段4,字段5) VALUES (1, 2, 3, 4, 5),2019/6/27,Microsoft SQL Server 2005,9,UPDATE 指令,UPDATE 指令是依給定條件,將符合條件的數據表中的數據更新為新的數值,其基本格式為: UPDATE 數據表或可更新視圖名稱 SET 字段1=值1,字段2=值2,字段3=值3, . WHERE 指定條件 例如: UPDATE MyTable SET 字段1 = 3,字段2 = 5, 字段4 = 5 WHERE 字段3 = 198273,2019/6/27,Microsoft SQL Server 2005,10,DELETE 指令,DELETE 指令從數據庫對象中刪除數據的指令,基本語法為: DELETE FROM 數據表或可更新視圖名稱 WHERE 給定條件 例如: DELETE FROM MyTable WHERE 字段3 = 1918299 值為字符時,加西文單引號。,2019/6/27,Microsoft SQL Server 2005,11,數據控制語言,數據控制語言 (Data Control Language) 在SQL語言中,是一種可對數據存取權進行控制的指令,它可以控制特定用戶對數據表、視圖、存儲過程、用戶自定義函數等數據庫對象的控制權。由 GRANT 和 REVOKE 兩個指令組成。 GRANT 的語法結構為: GRANT 權限 ON 要授予權限的數據庫對象 TO 用戶 WITH 授權選項 DENY 的語法結構為: DENY 權限 ON 要拒絕權限的數據庫對象 TO 用戶 權限可以是INSERTUPDATE等,參見教材p230,2019/6/27,Microsoft SQL Server 2005,12,Select 查詢,2019/6/27,Microsoft SQL Server 2005,13,簡單Select 查詢,語法: SELECT 字段1,字段2, FROM 表名 SELECT * FROM 表名 SELECT 字段1,字段2, FROM 表名 WHERE 查詢條件 SELECT * FROM 表名 WHERE 查詢條件,簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。 -,2019/6/27,Microsoft SQL Server 2005,14,簡單Select 查詢,SELECT StuId,StuName,DeptId,Sex FROM Tb_Student,SELECT * FROM Tb_Student,2019/6/27,Microsoft SQL Server 2005,15,簡單Select 查詢,SELECT StuId,StuName,DeptId,Sex FROM Tb_Student WHERE Sex=F,SELECT * FROM Tb_Teacher WHERE Sex=F and DeptId= 08,2019/6/27,Microsoft SQL Server 2005,16,WHERE子句使用的運算符,2019/6/27,Microsoft SQL Server 2005,17,比較運算符和表達式,SELECT * FROM Tb_Student WHERE StuName張三,SELECT * FROM Tb_Student WHERE Sex= F,2019/6/27,Microsoft SQL Server 2005,18,邏輯運算符和表達式,SELECT * FROM Tb_Student WHERE Sex= M and Sex= F,SELECT * FROM Tb_Student WHERE ClassId= S040201101 and Sex= F,SELECT * FROM Tb_Student WHERE NOT Sex= M,2019/6/27,Microsoft SQL Server 2005,19,范圍搜索運算符和表達式,SELECT * FROM Tb_Student WHERE Age BETWEEN 20 TO 22 - SELECT * FROM Tb_Student WHERE Age NOT BETWEEN 20 TO 22 - SELECT * FROM Tb_Student WHERE Age IN (20,21,22) - 相當于 SELECT * FROM Tb_Student WHERE Age=20 OR Age=21 OR Age=22,2019/6/27,Microsoft SQL Server 2005,20,模式匹配運算符和表達式,SELECT * FROM Tb_Student WHERE StuName LIKE 張%,SELECT * FROM Tb_Student WHERE StuName NOT LIKE 張三,2019/6/27,Microsoft SQL Server 2005,21,未知值條件,NULL表示未知的,不可用或將在以后添加的數據。NULL值與零、零長度的字符串的含義不同。 在WHERE子句中,使用IS NULL或IS NOT NULL條件可以查詢某一數據值是否為NULL的數據信息。 例如:,SELECT * FROM Tb_Grade WHERE RetestScore IS NOT NULL,SELECT * FROM Tb_Course WHERE CourseName IS NULL,2019/6/27,Microsoft SQL Server 2005,22,字符串運算符和表達式,字符串表達式是用字符串連接符()將字符型常量、變量、字符串函數連接組成的式子。字符串表達式的計算結果包括兩個字符串內的空格和所有字符,仍然是字符型。 如 我愛+ 我家 表達式的值為: 我愛 我家 - 例如:Beijing+ Huanying + Ning! 請寫出結果!,2019/6/27,Microsoft SQL Server 2005,23,運算符的優先級,運算符的優先級決定了表達式的計算和比較操作順序。 運算符的優先級由高到低的順序為: 1)括號:()。 2)正、負或取反運算:+、-、。 3)乘、除、求模運算:*、/、。 4)加、減、字符連接運算:+、-、+。 5)比較運算:、!、!、!。 6)位運算:、|。 7)邏輯非運算:NOT。 8)邏輯與運算:AND。 9) BETWEEN、IN、LIKE、OR等運算。 10)賦值運算:。,2019/6/27,Microsoft SQL Server 2005,24,ORDER BY子句,使用SELECT語句進行數據查詢,為了按一定順序瀏覽數據,可以使用ORDER BY子句對生成的查詢結果進行排序。ORDER BY子句在SELECT語句中的語法格式如下: - SELECT 字段1,字段2, FROM 表名 WHERE 查詢條件 ORDER BY 排序表達式 ASC | DESC,2019/6/27,Microsoft SQL Server 2005,25,ORDER BY子句,SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName,SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName DESC,2019/6/27,Microsoft SQL Server 2005,26,ORDER BY子句,SELECT StuId,StuName,Sex FROM Tb_Student WHERE DeptId=08 ORDER BY StuName,Sex 結果如何?,2019/6/27,Microsoft SQL Server 2005,27,ORDER BY子句,ORDER BY子句總是位于WHERE子句(如果有的話)后面,可以包含一個或多個列,每個列之間以逗號分隔。這些列可能是表中定義的列,也可能是SELECT子句中定義的計算列。 - 在SQL Server 2005中,漢字比其它字符值都要大,而漢字之間的大小比較是取決于其拼音首字母的大小。 如果沒有特別說明,值是以升序序列進行排序的。當然,你也可以選擇使用ASC關鍵字指定升序排序。 - 如果你希望以降序排列,則在ORDER BY后面使用DESC關鍵字。,2019/6/27,Microsoft SQL Server 2005,28,GROUP BY 子句,使用SELECT語句進行數據查詢,為了按特定條件分組瀏覽數據,可以使用GROUP BY子句對某一列數據的值進行分類,形成結果集。GROUP BY子句在SELECT語句中的語法格式如下: - SELECT 字段1,字段2, FROM 表名 WHERE 查詢條件 GROUP BY 字段1,字段2, WITH ROLLUP | CUBE ORDER BY 排序表達式 ASC | DESC - CUBE 生成的結果集顯示了所選列中值的所有組合(包括字段1、字段2、字段1+字段2)的分組統計結果和總的匯總統計的聚合; ROLLUP生成的結果集顯示了所選列中值的某一層次結構的聚合。(包括字段1、字段1+字段2的分組統計結果和總的匯總統計的聚合),2019/6/27,Microsoft SQL Server 2005,29,聚合函數,聚合函數是SQL語言中一種特殊的函數,比如SUM, COUNT, MAX, MIN, AVG等。這些函數和其它函數的根本區別就是它們一般作用在多條記錄上。換句話說,上面幾個返函數的值建立在對多條記錄進行統計的基礎上。 SUM是求和函數。 SELECT ClassId,SUM(Score) FROM Tb_Grade WHERE ClassId=S0408011 COUNT函數用來計算記錄的數量。 Select COUNT(StuID) FROM Tb_Grade WHERE ClassId=S0408011 MAX, MIN, AVG函數分別是用來求最大值、最小值和平均值。 SELECT MAX(Score), MIN(Score), AVG(Score) FROM Tb_Grade WHERE ClassId=S0408011,2019/6/27,Microsoft SQL Server 2005,30,GROUP BY 子句,常用統計函數,2019/6/27,Microsoft SQL Server 2005,31,GROUP BY子句,-顯示每個學生的班級編碼和成績 SELECT ClassId,TotalScore FROM Tb_Grade - -匯總每個班級的平均成績 SELECT ClassId,AVG(TotalScore) FROM Tb_Grade GROUP BY ClassId,2019/6/27,Microsoft SQL Server 2005,32,- SELECT ClassId,ClassName,AVG(TotalScore) FROM Tb_Grade,Tb_Class GROUP BY ClassId,GROUP BY子句,-匯總每個班級(含班級名稱)的平均成績? SELECT ClassId,ClassName,AVG(TotalScore) FROM Tb_Grade GROUP BY ClassId,- SELECT Tb_Grade.ClassId,ClassName,AVG(TotalScore) FROM Tb_Grade,Tb_Class WHERE Tb_Grade.ClassId=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,2019/6/27,Microsoft SQL Server 2005,33,GROUP BY子句,-顯示班級名稱的匯總各班平均成績 SELECT Tb_Grade.ClassId,ClassName,AVG(TotalScore) AS AvgScore FROM Tb_Grade,Tb_Class WHERE Tb_Grade.ClassId=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,ClassName,當兩個表中都有ClassId字段時,要加上表前綴,說明是那個表的ClassId字段,SELECT列表中出現的字段都必須要在GROUP BY列表中出現,聚合函數字段除外,當要顯示相關主鍵表中的其它字段時,如這兒的ClassName字段,則在WHERE子句中通過主外鍵關系進行連接,2019/6/27,Microsoft SQL Server 2005,34,GROUP BY 子句,查詢各個班級的最大成績和最小成績?,SELECT Tb_Grade.ClassId,ClassName,MAX(TotalScore) AS MaxScore, MIN(TotalScore) AS MinScore FROM Tb_Grade,Tb_Class WHERE Tb_Grade.ClassId=Tb_Class.ClassId GROUP BY Tb_Grade.ClassId,ClassName,2019/6/27,Microsoft SQL Server 2005,35,GROUP BY 子句,GROUP BY分類匯總,分項統計 緊跟在GROUP BY后面的字段就是分組條件。 如果在前面選擇列表中出現的非聚合字段未出現在GROUP BY后面,SQL語句就會出錯。 思考題: 按照不同班級和性別統計學生平均年齡。,2019/6/27,Microsoft SQL Server 2005,36,HAVING子句,HAVING子句相當于一個用于組(分類匯總)的WHERE子句,它指定了組或聚合的查詢條件。HAVING子句通常與GROUP BY子句一起使用。HAVING子句的語法為: - SELECT 字段1,字段2, FROM 表名 WHERE 查詢條件 GROUP BY字段1,字段2, HAVING 組查詢條件,2019/6/27,Microsoft SQL Server 2005,37,HAVING子句,顯示各班級學生平均總成績大于73的班級編號。 SELECT Tb_Grade.ClassId, AVG(TotalScore) AS AvgScore FROM Tb_Grade GROUP BY Tb_Grade.ClassId HAVING AVG(TotalScore)73,2019/6/27,Microsoft SQL Server 2005,38,HAVING子句,求各個班級的最大成績和最小成績,且最低成績小于50分的?,SELECT Tb_Grade.ClassId, MAX(TotalScore) AS MaxScore, MIN(TotalScore) AS MinScore FROM Tb_Grade GROUP BY Tb_Grade.ClassId HAVING MIN(TotalScore)50,2019/6/27,Microsoft SQL Server 2005,39,HAVING子句,HAVING子句用來對分組后的數據進行篩選,它后面會跟一個條件表達式。 當在GROUP BY 子句中使用HAVING子句時,查詢結果中只返回滿足HAVING條件的組。,2019/6/27,Microsoft SQL Server 2005,40,SELECT語法總結,SELECT select_list FROM table_list WHERE search_conditions GROUP BY group_by_list HAVING search_conditions ORDER BY order_list ASC | DESC ,上述“ ”表示可選項,“ | ”表示取其中之一。,2019/6/27,Microsoft SQL Server 2005,41,計算列,SELECT后面還可以是計算列。在SELECT后面的計算列,只是位于該SELECT語句中,是臨時性的,它由一個表達式產生。 SELECT StuId, StuName+(+Sex+) FROM Tb_Student 上面語句中的StuName+(+Sex+)就構成了一個計算列,它的值由兩個字符型值和一對括號連接組成。,2019/6/27,Microsoft SQL Server 2005,42,列別名,在上面的結果集中,列名都是英文。這樣看上去很不直觀,我們希望能夠給列名換上諸如“學號、姓名”等這樣的名字。只需在SELECT語句中,給列取個別名即可。AS可以省去。 SELECT StuId AS 學號, StuName+ (+Sex+) AS 姓名性別 FROM Tb_Student SELECT StuId 學號, StuName+ (+Sex+) 姓名性別 FROM Tb_Student SELECT 學號=StuId,姓名性別=StuName+(+Sex+) FROM Tb_Student,2019/6/27,Microsoft SQL Server 2005,43,當然,我們也可以給表指定列別名,給表取別名和給列取別名類似,但只可以用 “原始表名 AS 別名”和 “原始表名 別名”這兩種方式。 SELECT * FROM Tb_Student ST 或者 SELECT * FROM Tb_Student AS ST - 字段別名不能放在WHERE子句中,而表別名可以放在WHERE子句中。,表別名,2019/6/27,Microsoft SQL Server 2005,44,多表查詢,2019/6/27,Microsoft SQL Server 2005,45,查詢全院各系部擁有班級的基本情況,顯示系部名稱、班級編碼和班級名稱;,多表查詢,2019/6/27,Microsoft SQL Server 2005,46,USE Teaching_System GO SELECT d.*, c.* FROM Tb_Class AS c, Tb_Dept AS d,多表查詢,2019/6/27,Microsoft SQL Server 2005,47,笛卡爾乘積,多表查詢,2019/6/27,Microsoft SQL Server 2005,48,多表查詢,2019/6/27,Microsoft SQL Server 2005,49,多表查詢,2019/6/27,Microsoft SQL Server 2005,50,USE Teaching_System GO SELECT d.*, c.* FROM Tb_Class AS c, Tb_Dept AS d WHERE c.DeptId=d.DeptId,多表查詢,2019/6/27,Microsoft SQL Server 2005,51,多表查詢,SELECT StuId,StuName,DeptId,SpecId,ClassId,Sex FROM Tb_Student,SELECT StuId 學號,StuName 姓名,DeptId 系部,SpecId 專業,ClassId 班級,Sex 性別 FROM Tb_Student,2019/6/27,Microsoft SQL Server 2005,52,兩表連接,SELECT StuId 學號,StuName 姓名,DeptName 系部, SpecId 專業,ClassId 班級,Sex 性別 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId,2019/6/27,Microsoft SQL Server 2005,53,多表連接基礎,在實際查詢應用中,用戶所需要的數據并不全部在一個表中,這時就需要多表查詢,從多個表中抽取我們所需要的數據信息。 多表查詢實際上是通過各個表之間的共同列的相關性(主外鍵關系)來查詢數據的,這是關系數據庫查詢數據的主要特征。 多表查詢首先要用WHERE子句在表之間建立連接關系。 在進行多表查詢時,可以遵循以下基本原則: (1)SELECT子句列表中,字段前要加上基表名稱; (2)FROM子句應包括所有使用的基表; (3)WHERE子句應在表之間建立連接關系。,2019/6/27,Microsoft SQL Server 2005,54,兩表連接,SELECT StuId 學號,StuName 姓名,DeptId 系部編碼, DeptName 系部, SpecId 專業,ClassId 班級,Sex 性別 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId,SELECT StuId 學號,StuName 姓名, TS.DeptId 系部編碼, DeptName 系部, SpecId 專業,ClassId 班級,Sex 性別 FROM Tb_Student TS,Tb_Dept TD WHERE TS.DeptId=TD.DeptId,2019/6/27,Microsoft SQL Server 2005,55,多表連接,SELECT StuId 學號,StuName 姓名,DeptName 系部, SpecName 專業,ClassName 班級,Sex 性別 FROM Tb_Student TS,Tb_Dept TD,Tb_Spec TSP, Tb_Class TC WHERE TS.DeptId=TD.DeptId AND TS.SpecId=TSP.SpecId AND TS.ClassId=TC.ClassId,要求顯示學生姓名和所在系名、專業、班級名稱?,2019/6/27,Microsoft SQL Server 2005,56,各種連接查詢,內連接:內連接是一種常用的數據連接查詢方式。它使用比較運算符進行多個表之間的比較連接操作。內連接會消除與另一個表的任何不匹配的數據行。 外連接:外連接會返回FROM子句中提到的至少一個表的所有符合查詢條件的數據行(包括連接中不匹配的數據行),外連接分為左外連接、右外連接和完全連接。 交叉連接:當對兩個表使用交叉連接查詢時,將返回來自這兩個表的各行的所有可能的數據行組合。 自連接:表自身的鏈接參見教材p119。,2019/6/27,Microsoft SQL Server 2005,57,兩個樣例表,SELECT * FROM Tb_Dept SELECT ClassId,ClassName,DeptId FROM Tb_Class,2019/6/27,Microsoft SQL Server 2005,58,內連接,SELECT DeptName 系部名稱, ClassId 班級編碼, ClassName 班級名稱 FROM Tb_Dept INNER JOIN Tb_Class ON Tb_Class.DeptId=Tb_Dept.DeptId,等同于: SELECT DeptName 系部名稱, ClassId 班級編碼, ClassName 班級名稱 FROM Tb_Class,Tb_Dept WHERE Tb_Dept.DeptId=Tb_Class.DeptId,2019/6/27,Microsoft SQL Server 2005,59,外連接-左外連接,SELECT DeptName 系部名稱, ClassId 班級編碼, ClassName 班級名稱 FROM Tb_Dept LEFT OUTER JOIN Tb_Class ON Tb_Dept.DeptId=Tb_Class.DeptId 左邊表中列全顯示,2019/6/27,Microsoft SQL Server 2005,60,外連接-右外連接,SELECT DeptName 系部名稱, ClassId 班級編碼, ClassName 班級名稱 FROM Tb_Dept RIGHT OUTER JOIN Tb_Class ON Tb_Dept.DeptId=Tb_Class.DeptId 右邊表中列全顯示,2019/6/27,Microsoft SQL Server 2005,61,外連接-完全連接,SELECT DeptName 系部名稱, ClassId 班級編碼, ClassName 班級名稱 FROM Tb_Dept FULL OUTER JOIN Tb_Class ON Tb_Dept.DeptId=Tb_Class.DeptId,2019/6/27,Microsoft SQL Server 2005,62,交叉連接,SELECT DeptName 系部名稱, ClassId 班級編碼, ClassName 班級名稱 FROM Tb_Dept CROSS JOIN Tb_Class,2019/6/27,Microsoft SQL Server 2005,63,交叉連接,不使用WHERE子句時,返回的結果是一個基本表中符合條件的行數乘以另一個基本表中符合條件的行數。 使用WHERE子句時,返回的結果是被連接的兩個基本表所有行的笛卡爾積中滿足WHERE條件的所有行的行數。 參見教材p118,2019/6/27,Microsoft SQL Server 2005,64,聯合查詢(UNION),如果有多個不同的查詢結果,但又希望將這些查詢結果放在一起顯示,組成一組數據。在這種情況下,可以使用UNION子句。使用UNION子句的查詢又稱為聯合查詢,它可以將兩個和多個查詢結果集組合成為單個結果集。語法如下: SELECT select_list FROM table_list WHERE search_conditions UNION ALL SELECT select_list FROM table_list WHERE search_conditions 其中,ALL關鍵字為可選的,如果在UNION子句中使用該關鍵字,則返回全部數據行;如果不使用該關鍵字,則返回結果中刪除重復數據行。,2019/6/27,Microsoft SQL Server 2005,65,聯合查詢(UNION),SELECT * FROM Tb_Spec WHERE SpecId08 UNION SELECT StuId,StuName,Sex FROM Tb_Student WHERE ClassIdS0408011,2019/6/27,Microsoft SQL Server 2005,66,章節綜合練習,每個學年結束,班主任都要對班級學生成績進行分析,然后初定學年獎學金獲得者的人選。讓我們運用數據庫查詢的知識幫助04網絡1班的班主任劉老師完成以下兩個任務: 根據學院獎學金評選規定,初定獲獎學金學生名單;(每位同學的課程平均成績必須高于75分) 對該班級開設的各門課程分別進行成績分析。顯示課程編號、學生學號和成績的明細并分別匯總每門課程的平均成績。,2019/6/27,Microsoft SQL Server 2005,67,章節綜合練習,2019/6/27,Microsoft SQL Server 2005,68,任務一,USE Teaching_System GO SELECT StuId 學號, AVG(TotalScore) AS 平均成績 FROM Tb_Grade WHERE ClassId=S0408011 GROUP BY StuId HAVING AVG(TotalScore)=75,2019/6/27,Microsoft SQL Server

溫馨提示

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

評論

0/150

提交評論