授课老师姜子龙Emailtlj2030@knjcedutw

上传人:ni****g 文档编号:569874403 上传时间:2024-07-31 格式:PPT 页数:50 大小:843.50KB
返回 下载 相关 举报
授课老师姜子龙Emailtlj2030@knjcedutw_第1页
第1页 / 共50页
授课老师姜子龙Emailtlj2030@knjcedutw_第2页
第2页 / 共50页
授课老师姜子龙Emailtlj2030@knjcedutw_第3页
第3页 / 共50页
授课老师姜子龙Emailtlj2030@knjcedutw_第4页
第4页 / 共50页
授课老师姜子龙Emailtlj2030@knjcedutw_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《授课老师姜子龙Emailtlj2030@knjcedutw》由会员分享,可在线阅读,更多相关《授课老师姜子龙Emailtlj2030@knjcedutw(50页珍藏版)》请在金锄头文库上搜索。

1、Access第十七單元結構化查詢語言(一)姜子龍 製作授课老师姜子龙E-mailtlj2030knjcedutwStillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望Access第十七單元結構化查詢語言(一)姜子龍 製作結構化查詢語言(一)-講授大綱關於SQL訂定SQL標準的優點SQL語言的分類Access選取查詢的SQL檢視SQL語法所使用的符號選取查詢:SELECT陳述式語法SELECT陳述式語法INNER JOIN 運算SELECT陳述式語法LEFT JOIN 及 RIGHT JOI

2、N運算SELECT陳述式語法WHERE子句SELECT陳述式語法建立計算欄位SELECT陳述式語法GROUP BY子句SELECT陳述式語法HAVING子句SELECT陳述式語法ORDER BY子句SELECT陳述式語法子查詢的應用SELECT陳述式撰寫考量1Access第十七單元結構化查詢語言(一)姜子龍 製作關於SQL SQL的全名為:Structured Query Language,經常拼音為sequel。SQL是套用於關連式資料庫(Relational Database)的查詢與維護語言。SQL的前身為SEQUAL,皆由IBM提出。1979 Rational Software,Inc

3、. 發展了一個關連式資料庫產品,名為 Oracle。1981 IBM發表了第一個使用SQL的關連式資料庫產品: SQL/DS。2Access第十七單元結構化查詢語言(一)姜子龍 製作關於SQL(續)使用SQL的關連式資料庫產品漸多,但在語法上未能統一,造成百家爭鳴。美國國家標準協會(ANSI)及國際標準組織(ISO)體會到SQL的重要,在1986年公佈了第一個SQL標準:SQL-86。後續的強化與修正版本有:SQL-2(SQL-92)及 SQL-3(SQL-96)。SQL Access Group 公佈了SQL的商業標準:CLI(Common Language Interface)。微軟的OD

4、BC(Open Database Connectivity)即支援此CLI。3Access第十七單元結構化查詢語言(一)姜子龍 製作訂定SQL標準的優點當使用另一套SQL產品時:可節省人員再訓練的時間應用程式可輕易移植應用程式的使用壽命較長增加系統間資料的交換性。4Access第十七單元結構化查詢語言(一)姜子龍 製作SQL語言的分類查詢語言(Query Language,QL) 用於查詢資料庫中的資料,如:Select fieldsfields From tablestables Where condition condition ; ;。資料定義語言(Data Definition Lan

5、guage,DDL) 用於定義及維護資料庫中的資料表(包括資料表名稱、欄位名稱、欄位的資料類型等),如:Create table table、Create indexindex。資料處理語言(Data Manipulation Language,DML) 用於處理資料庫中的資料,如:Insert、Update、Delete。資料控制語言(Data Control Language,DCL) 用於控制資料庫的使用權限及安全程度,如:Grant 、Revoke、Audit。5Access第十七單元結構化查詢語言(一)姜子龍 製作Access選取查詢的SQL檢視在Access中,可在選取查詢的SQL

6、檢視視窗內使用查詢指令,以進行資料表內容的查詢。初次進入選取查詢的SQL檢視視窗的步驟:在資料庫視窗中,切換至查詢頁次。按新增圖示,即出現新增查詢視窗。雙按設計檢視,即出現顯示資料表視窗。按選關閉鈕,便會離開顯示資料表交談窗。進入選取查詢視窗。執行Access視窗工具列中最左邊的圖示(若未看見可按列示鈕),即可進入選取查詢的SQL檢視視窗。6Access第十七單元結構化查詢語言(一)姜子龍 製作Access選取查詢的SQL檢視(續)在選取查詢的SQL檢視視窗中輸入完SQL陳述式後,可按下Access工具列上的執行紐,執行該SQL陳述式。離開選取查詢的SQL檢視視窗:按下選取查詢的SQL檢視視窗

7、右上角的關閉鈕。在訊息對話方塊按是鈕,將查詢指令儲存起來。在另存新檔對話方塊的查詢名稱查詢名稱欄,輸入查詢名稱,再按確定鈕,便可將查詢存檔。在資料庫視窗中,會多出一個剛設計的查詢物件。7Access第十七單元結構化查詢語言(一)姜子龍 製作Access選取查詢的SQL檢視(續)8Access第十七單元結構化查詢語言(一)姜子龍 製作Access選取查詢的SQL檢視(續)9Access第十七單元結構化查詢語言(一)姜子龍 製作練習用資料表內容 學生學號姓名90101張三90102王美90103李四90105陳五課程課號課名C01國文C02英文C03數學修習學號課號成績90101C01909010

8、1C028890102C018590102C039290103C019190104C038510Access第十七單元結構化查詢語言(一)姜子龍 製作SQL語法所使用的符號符號說明:| (選擇符號):表示選項,當有多種不同選擇項時,可 | 加以區隔。中括號(即與):通常會與 | 一起使用,所括住的部分表示其中選項為多選一,但也可以省略不選。大括號(即與):通常會與 | 一起使用,所括住的部分表示其中選項可為零次到任意多次的重複。, (逗號):用於分隔意義相同的各個項目。 (省略符號) :表示語法中重複的項目,若於本省略符號前出現逗號,表示各重複項目必須以逗號隔開。大寫字語為陳述式的關鍵字,直接

9、使用,勿需替換。中文或小寫字語為需用真實的識別字來替代的部分。11Access第十七單元結構化查詢語言(一)姜子龍 製作選取查詢:SELECT陳述式語法在Microsoft Jet 資料庫引擎所用語法: SELECT 述語 * | 資料表名稱.* | 資料表名稱.欄位名稱1 AS 欄位別名1 , 資料表名稱.欄位名稱2 AS 欄位別名2 , . FROM 資料表運算式1,資料表運算式2, . IN 其他資料庫名稱 WHERE 資料錄篩選條件 GROUP BY 分類群組 HAVING 篩選群組條件 ORDER BY 排序條件其中SELECTFROM是最基本的語法。SELECT子句的主要作用是決定

10、要挑選出的欄位有哪些。12Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法(續)述語(predicate) 為以下所列述語之一: ALL、DISTINCT、DISTINCTROW 或 TOP。可用來限制傳回之資料錄的數量。* 從特定的單個或多個資料表中選取全部的欄位。 資料表名稱(table) 欲選取欄位所屬之資料表(或查詢)的名稱。 欄位名稱(field) 欲選取之欄位的名稱。如果要擷取之資料包含一個以上的欄位,則將它們依序訂出。 欄位別名(alias) 作為欄位的另一個名稱,以代替在資料表中原有的欄名。 13Access第十七單元結構化查詢語言(一)姜子龍 製作

11、SELECT陳述式語法(續)資料表運算式(tabexpression) 要選取之資料來自於單個或多個資料表或查詢的名稱,或由 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 合成的結果。 其他資料庫名稱(externaldatabase) 資料表運算式中所述資料表(或查詢)所在之資料庫的名稱(當這些資料表不存在於目前的資料庫時使用)。 14Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法(續)述語(predicate):ALL、DISTINCT、DISTINCTROW 或 TOP。ALL 如果您沒有包含任何一個述語,此為預設值。將選取與 SQL

12、陳述式中條件相吻合的所有資料錄。下列兩個範例是相等的,並且皆從課程資料表中傳回所有的資料錄: SA01:FSELECT ALL * FROM 課程;SA02:FSELECT * FROM 課程;15Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法(續)DISTINCT 略去選取欄位之中包含重複資料的資料錄。使用本述語時,會使查詢結果之中,列在 SELECT 陳述式中的每個欄位值的組合必須是唯一的。 例如,在修習資料表之中有一些同學會同時選修某們課,下列 SQL 陳述式會傳回哪些課號已被同學選修:SD01:FSELECT DISTINCT 課號 FROM 修習; 如果

13、您省略 DISTINCT,此查詢將傳回許多重複的值。 如果 SELECT 子句包含一個以上的欄位,對一個要包含在結果中的資料錄,所有欄位值的組合必須是唯一的。 加上 DISTINCT 述語的查詢,其輸出是不能更新的,也不會反應其他使用者隨後所做的變更。16Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法(續)DISTINCTROW 略去選取欄位之中包含重複資料的資料錄,但該重複資料若來自不同資料錄,則予保留。 例如,您可以在客戶編號欄位建立一個連結客戶資料表及訂單資料表的查詢。 客戶資料表沒有重複的客戶編號,但有重複的客戶名稱。 下列 SQL 陳述式顯示如何使用 D

14、ISTINCTROW 產生客戶清單,該清單將列出至少曾下過一筆訂單的客戶: FSELECT DISTINCTROW CustomerName FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;17Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法(續)TOP n PERCENT 傳回一些特定數目的資料錄,且這些資料錄將落在由 ORDER BY 子句指定的前面或後面的範圍之中。 假設要找出修習課號C01,成績排名在前面 2 名的學號:ST01:FSELECT TOP

15、2 學號 ,成績 FROM 修習 WHERE 課號 = C01 ORDER BY 成績 DESC; TOP 述語不在相同值間作選擇。 在前一個範例中,如果第 2 及第 3 的分數是相同的,查詢將傳回 3 筆資料錄。18Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法(續) 亦可使用 PERCENT 保留字來傳回特定資料錄的百分比,且這些資料錄將落在由 ORDER BY 子句指定的前面或後面範圍之中。 假設要找出修習課號C01,成績排名在後面百分之10的學號: ASC 述語指定傳回後面的值。 接在 TOP 後方的值必須是一個沒有正負值的整數。ST02:FSELECT

16、TOP 10 PERCENT 學號 ,成績 FROM 修習 WHERE 課號 = C01 ORDER BY 成績 ASC;19Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法INNER JOIN 運算INNER JOIN 運算:組合兩個資料表中的資料錄,使在共同的欄位之中有符合比較條件的值。可以在任何的 FROM 子句中使用 INNER JOIN 運算, 這是最基本的連接類型。語法:FROM 資料表名稱1 INNER JOIN 資料表名稱2 ON資料表名稱1.欄位名稱1 比較運算子 資料表名稱2.欄位名稱2 資料表名稱1,資料表名稱2 - 被組合之資料表的名稱。 欄

17、位名稱1,欄位名稱2 - 被連接之欄位的名稱, 如果不是數值,這些欄位必須屬於相同的資料類型,並且要包含相同類型的資料,但是名稱不需要相同。 比較運算子(compopr) - =, , = 或 。 20Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法INNER JOIN 運算(續)注意事項:如果想連接包含備忘或 OLE物件資料類型的欄位,將會發生錯誤。可以連接任何兩個相同類型的數值欄。例如,您可以連接自動編號及 Long 的欄位,因為它們是相同的類型。但無法結合 Single 和 Double 類型的欄位。可以使用下列語法,在一個 JOIN 陳述式中連結多個 ON

18、子句:FSELECT 欄位名稱 FROM 資料表名稱1 INNER JOIN 資料表名稱2 ON 資料表名稱1.欄位名稱1 比較運算子 資料表名稱2.欄位名稱1 AND ON 資料表名稱1.欄位名稱2 比較運算子 資料表名稱2.欄位名稱2 | OR ON 資料表名稱1.欄位名稱3 比較運算子 資料表名稱2.欄位名稱3 21Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法INNER JOIN 運算(續)注意事項(續):亦可以使用下列語法,寫為巢狀式 JOIN 陳述式:FSELECT 欄位名稱 FROM 資料表名稱1 INNER JOIN (資料表名稱2 INNER J

19、OIN ( 資料表名稱3 INNER JOIN ( 資料表名稱x INNER JOIN .) ON 資料表名稱3.欄位名稱3 比較運算子 資料表名稱x.欄位名稱x) ON 資料表名稱2.欄位名稱2 比較運算子 資料表名稱3.欄位名稱3) ON 資料表名稱1.欄位名稱1 比較運算子 資料表名稱2.欄位名稱2在一個 INNER JOIN 之中,可以寫巢狀式的 LEFT JOIN 或 RIGHT JOIN,但是在一個 LEFT JOIN 或一個 RIGHT JOIN 之中不能寫巢狀式的 INNER JOIN。22Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法INNER

20、JOIN 運算(續)INNER JOIN 運算範例:IJ01:FSELECT 學生.學號, 學生.姓名, 修習.課號 FROM 學生 INNER JOIN 修習 ON 學生.學號 = 修習.學號;23Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法INNER JOIN 運算(續)INNER JOIN 運算範例:IJ02:(錯誤用例)FSELECT 學生.學號, 學生.姓名, 修習.課號 FROM 學生 INNER JOIN 修習 ON 學生.學號 修習.學號;24Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法INNER JOIN 運算(

21、續)INNER JOIN 運算範例:IJ03:FSELECT 學生.學號, 學生.姓名, 課程.課號, 課程.課名 FROM 學生 INNER JOIN (課程 INNER JOIN 修習 ON 課程.課號 = 修習.課號) ON 學生.學號 = 修習.學號;25Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法LEFT JOIN 及 RIGHT JOIN運算 LEFT JOIN 及 RIGHT JOIN運算:使用在任何 FROM 子句中之後,組合來源資料表中的資料錄。使用 LEFT JOIN 建立左邊外部連接。將包含了第一個 (左邊)資料表中的全部資料錄,以及只包括

22、那些連接欄位符合比較條件的第二個 (右邊) 資料表中的資料錄。使用 RIGHT JOIN 建立右邊外部連接。將包含了第二個 (右邊)資料表中的全部資料錄,以及只包括那些連接欄位符合比較條件的第一個 (左邊) 資料表中的資料錄。26Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法LEFT JOIN 及 RIGHT JOIN運算 語法:FROM 資料表名稱1 LEFT | RIGHT JOIN 資料表名稱2 ON 資料表名稱1.欄位名稱1 比較運算子 資料表名稱2.欄位名稱2資料表名稱1,資料表名稱2 - 被組合之資料表的名稱。 欄位名稱1,欄位名稱2 - 被連接之欄位

23、的名稱,且這些欄位必須有相同的資料類型,並包含相同類型的資料,但名稱不需要相同。 比較運算子(compopr): =, , = 或 。27Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法LEFT JOIN 及 RIGHT JOIN運算(續) LEFT JOIN 及 RIGHT JOIN運算範例:應用說明:有部門(左邊)及員工(右邊)兩個資料表。可以使用 LEFT JOIN 選取所有的部門,包含了沒有分配到員工的部門。可以使用 RIGHT JOIN 選取所有的員工,包含了沒有分配到部門的員工。LJ01:FSELECT 學生.學號, 學生.姓名, 修習.課號 FROM

24、學生 LEFT JOIN 修習 ON 學生.學號 = 修習.學號;28Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法LEFT JOIN 及 RIGHT JOIN運算(續)LEFT JOIN 及 RIGHT JOIN運算範例:RJ01:FSELECT 學生.學號, 學生.姓名, 修習.課號 FROM 學生 RIGHT JOIN 修習 ON 學生.學號 = 修習.學號; RJ02:FSELECT修習.學號, 學生.姓名, 修習.課號 FROM 學生 RIGHT JOIN 修習 ON 學生.學號 = 修習.學號;29Access第十七單元結構化查詢語言(一)姜子龍 製作

25、SELECT陳述式語法WHERE子句 WHERE子句:用於建立篩選資料錄的條件。語法:WHERE 資料錄篩選條件邏輯運算子:用於聯集、交集或否定篩選資料錄的條件。例如:WHERE (課號 = C01) OR (課號 = C02)。 常用的邏輯運算子:運算子意義AND且OR或NOT非30Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法WHERE子句(續) 字串篩選條件:字串值用括住。當知道篩選條件的整個字串時,用 = 運算子,如:課號 = C01。 當知道篩選條件的部分字串時,用 LIKE 運算子。 LIKE運算子可用一些特殊符號來描述字串的匹配條件:特殊符號意義*

26、或 %表示任何長度的字串,包括空字串在內? 或 _表示一個中文字或任意一個字元#表示一個數字字元-連字符號,表示數字及大小寫字元的起止範圍字元表任何在字元表中的單一字元,如,a-zA-Z0-9 !字元表任何不在字元表中的單一字元31Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法WHERE子句(續) 字串篩選條件(續):使用 In() 函數,用來判斷輸入值是否等於表列中的任一個值,例如:In(“郵寄”,“掛號”,“自取”)。使用 Left、Right 或 Mid 的函數,這些函數的語法是:Left(字串運算式,n) 、Right(字串運算式,n) 、 Mid(字串運

27、算式,起算位置,n)。可直接以Null來判斷欄位值是否為Null。SF01:FSELECT 學生.學號, 姓名, 課號 FROM 學生,修習 WHERE (學生.學號 = 修習.學號) AND (課號 IN (C01,C03);SF02:FSELECT 學生.學號, 姓名, 課號 FROM 學生, 修習 WHERE (學生.學號 = 修習.學號) AND (課號 LIKE C013);32Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法WHERE子句(續) 數字篩選條件:使用比較運算子。比較運算子意義範例小於 200=小於或等於大於 200=大於或等於= 200=等

28、於= 200不等於 200Between and介於兩個值之間Between 1 and 933Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法WHERE子句(續) 數字篩選條件(續):NF01:FSELECT 學生.學號,學生.姓名,課程.課名,成績 FROM 學生,課程,修習 WHERE (學生.學號 = 修習.學號) AND (課程.課號 = 修習.課號) AND (成績 = 90);34Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法WHERE子句(續) 日期篩選條件:日期值用#括住。使用比較運算子。使用 Month、Year、D

29、ay等的函數。比較運算子意義範例小於 #91/01/23#=小於或等於大於 #91/01/23#=大於或等於= #91/01/23#=等於= #91/01/23#不等於 #91/01/23#Between and介於兩個值之間 Between #91/01/01# and #91/01/31#35Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法建立計算欄位 建立計算欄位:使用運算式建立一個計算資料的公式,組成的成員有下列四類: Int ( 價格 * 0.4) 函數 識別字 運算子 值算術運算子意義+加-減*乘/除整數除法MOD取餘數36Access第十七單元結構化查

30、詢語言(一)姜子龍 製作SELECT陳述式語法建立計算欄位(續) 數字篩選條件(續):CF01:FSELECT 學生.姓名,課程.課名,成績*2 AS實得分數 FROM 學生,課程,修習 WHERE (學生.學號 = 修習.學號) AND (課程.課號 = 修習.課號) ;37Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法GROUP BY子句 GROUP BY 子句:用於建立分類的群組。與SQL聚合函數或總和函式搭配使用。將挑選出的資料做分組計算的查詢,稱為群組式查詢。在群組式查詢中,所有的計算欄位都必須以群組函式來運算。語法:GROUP BY 群組欄位1 ,群組

31、欄位2 , 群組欄位的數目最多10個。38Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法GROUP BY子句(續) GROUP BY 子句(續):在群組式查詢中,所有的計算欄位都必須以群組函式來運算。函數名稱意義語法Avg計算平均值Avg(欄位名稱)Count所得資料錄筆數Count(欄位名稱)First第一筆資料錄的欄位值First(欄位名稱)Last最後一筆資料錄的欄位值Last(欄位名稱)Max一欄位的最大值值Max(欄位名稱)Min一欄位的最小值值Min(欄位名稱)Sum一欄位值的總計Sum(欄位名稱)StDev統計資料樣本之標準差StDev(欄位名稱)V

32、ar統計資料樣本之變異數Var(欄位名稱)39Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法GROUP BY子句(續) GROUP BY 子句(續):GF01:FSELECT 學生.姓名,Max(成績) AS 最高分數 FROM 學生,修習 WHERE (學生.學號 = 修習.學號) GROUP BY 學生.姓名;GF02:FSELECT 修習.學號, 學生.姓名,Max(修習.成績) AS 最高分數 FROM 學生 RIGHT JOIN 修習 ON 學生.學號=修習.學號 GROUP BY 修習.學號,學生.姓名;40Access第十七單元結構化查詢語言(一)姜

33、子龍 製作SELECT陳述式語法HAVING子句 HAVING子句:用於篩選經過分類群組(GROUP BY)的資料錄。語法:HAVING 篩選群組條件篩選群組條件的建立方式與WHERE子句相同。41Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法HAVING子句(續) HAVING子句(續):GF03:FSELECT 修習.學號, 學生.姓名,Max(修習.成績) AS 最高分數 FROM 學生 RIGHT JOIN 修習 ON 學生.學號=修習.學號 GROUP BY 修習.學號,學生.姓名 HAVING Max(修習.成績) = 90;42Access第十七單元

34、結構化查詢語言(一)姜子龍 製作SELECT陳述式語法ORDER BY子句 ORDER BY子句:將查得的資料錄根據指定的欄位進行排序。語法:ORDER BY 排序欄位1 ASC | DESC ,排序欄位2 ASC | DESC , ASC 表示遞增排序;DESC 表示遞減排序。預設為ASC。43Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法ORDER BY子句(續) ORDER BY子句(續):OD01:FSELECT 修習.學號, 學生.姓名,Max(成績) AS 最高分數 FROM 學生 RIGHT JOIN 修習 ON 學生.學號=修習.學號 GROUP

35、BY 修習.學號,學生.姓名 HAVING Max(成績) = 90 ORDER BY Max(成績) DESC;44Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法子查詢的應用 子查詢的應用:在WHERE 子句中,除了可以利用篩選條件進行查詢外,還可利用另外的SELECT陳述式,作為查詢的條件。子查詢的查詢結果僅能傳回一筆資料錄。語法:WHERE 運算元 運算子 (SELECT陳述式 ) 邏輯運算子 運算元 運算子 (SELECT陳述式) 邏輯運算子 45Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式語法子查詢的應用(續) 子查詢的應用(

36、續):OD01:FSELECT 學生.姓名 FROM 學生 WHERE 學號 = (SELECT 學號 FROM 修習 WHERE 成績 = 92) ;46Access第十七單元結構化查詢語言(一)姜子龍 製作SELECT陳述式撰寫考量 哪些資料表欄位需要顯示?哪些計算欄位需要顯示?哪些群聚函式需要顯示?放在SELECT子句後面。若有多個,用“,”隔開;若欄位名稱無法唯一識別來自哪一資料表,加上資料表名稱,其後加上“.”;若顯示之欄位名稱會混淆,加上 AS 及。相關欄位資料來自哪些資料表?放在FROM子句後面。若有多個,用“,”隔開。是否有查詢條件?放在WHERE子句後面。若有多個,用“AND

37、 “或”OR”隔開。哪些欄位作為資料分組的根據?放在GROUP BY 子句後面。若有多個,用“.“隔開。 哪些相關欄位需要排序?放在ORDER BY子句後面。若有多個,用“,”隔開。47Access第十七單元結構化查詢語言(一)姜子龍 製作練習結構化查詢語言使用練習用資料表的內容,試以SQL撰寫下列選取查詢:選取一資料表中所有資料錄的所有欄位內容選取一資料表中所有資料錄的某些欄位內容選取一資料表中所有資料錄的某些欄位內容,並依第一個欄位的內容由大到小排序選取一資料表中所有資料錄的某一欄位內容,但需去除重複內容選取一資料表中部份資料錄(條件自訂)的某些欄位內容計算一資料表中合乎某條件(條件自訂)之部份資料錄的筆數計算一資料表中某數字類型欄位在所有資料錄的平均值,並幫其取一別名選取兩資料表中的某些欄位內容,並以關聯欄位進行連結48Access第十七單元結構化查詢語言(一)姜子龍 製作問題討論問題討論 謝謝聆聽謝謝聆聽49

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号