第五章查詢PPT課件_第1頁
第五章查詢PPT課件_第2頁
第五章查詢PPT課件_第3頁
第五章查詢PPT課件_第4頁
第五章查詢PPT課件_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章第五章 查詢查詢 王朝培王朝培博學樓5.1 了解了解Access的查詢對象的查詢對象 1.1.什么是查詢?什么是查詢?p用來從數(shù)據(jù)表中檢索所需要的數(shù)據(jù),并對表中用來從數(shù)據(jù)表中檢索所需要的數(shù)據(jù),并對表中的數(shù)據(jù)加工的一種數(shù)據(jù)庫對象。的數(shù)據(jù)加工的一種數(shù)據(jù)庫對象。p查詢是以表或查詢?yōu)閿?shù)據(jù)源的查詢是以表或查詢?yōu)閿?shù)據(jù)源的再生表(虛表)再生表(虛表)。p查詢與表對象的篩選功能類似,但比篩選要強查詢與表對象的篩選功能類似,但比篩選要強大的多。大的多。p可將查詢看成是動態(tài)的數(shù)據(jù)集合,使用查詢可以按不可將查詢看成是動態(tài)的數(shù)據(jù)集合,使用查詢可以按不同的方式來查看、更改和分析數(shù)據(jù),也可將查詢作為同的方式來查看、

2、更改和分析數(shù)據(jù),也可將查詢作為窗體、報表、數(shù)據(jù)訪問頁的數(shù)據(jù)源。窗體、報表、數(shù)據(jù)訪問頁的數(shù)據(jù)源。 2.2.查詢的種類(查詢的種類( AccessAccess提供了提供了5 5種查詢種查詢)p選擇查詢:選擇查詢:最常見的查詢類型,可以:最常見的查詢類型,可以: 從一個或多個表中檢索數(shù)據(jù)。從一個或多個表中檢索數(shù)據(jù)。 對記錄進行分組,并進行總計、計數(shù)、平均以及對記錄進行分組,并進行總計、計數(shù)、平均以及其其他類型的計算。他類型的計算。p交叉表查詢:交叉表查詢:交叉表查詢顯示來源于表中某個字段交叉表查詢顯示來源于表中某個字段的總結值(合計、計算以及平均值等),并將它們的總結值(合計、計算以及平均值等),并

3、將它們分組放置在查詢表中,一組列在數(shù)據(jù)表的左側,一分組放置在查詢表中,一組列在數(shù)據(jù)表的左側,一組列在數(shù)據(jù)表的上部。組列在數(shù)據(jù)表的上部。p參數(shù)查詢:參數(shù)查詢:在查詢中增加了可變化的參數(shù),可以更在查詢中增加了可變化的參數(shù),可以更多、更方便地查找有用信息。適合于作為窗體或報多、更方便地查找有用信息。適合于作為窗體或報表的基礎。表的基礎。p操作查詢:操作查詢:在操作中更改多個記錄的查詢在操作中更改多個記錄的查詢刪除查詢:從一個或多個表中刪除一組記錄。刪除查詢:從一個或多個表中刪除一組記錄。更新查詢:批量更改一個或多個表中的一組記錄。更新查詢:批量更改一個或多個表中的一組記錄。追加查詢:將一組記錄添加到

4、其他表的尾部。追加查詢:將一組記錄添加到其他表的尾部。生成表查詢:根據(jù)一個或多個表數(shù)據(jù)新建表。生成表查詢:根據(jù)一個或多個表數(shù)據(jù)新建表。pSQLSQL查詢:查詢:使用使用SQLSQL語句創(chuàng)建的查詢。語句創(chuàng)建的查詢。 3. ACCESS查詢的視圖:查詢的視圖:p設計視圖設計視圖p數(shù)據(jù)表視圖數(shù)據(jù)表視圖pSQLSQL視圖視圖p數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖5.2 5.2 建立查詢建立查詢 AccessAccess提供了提供了3 3種創(chuàng)建查詢的方法:一是使用查詢種創(chuàng)建查詢的方法:一是使用查詢向導;二是使用設計視圖;三是使用向導;二是使用設計視圖;三是使用SQLSQL視圖。視

5、圖。 查詢設查詢設計視圖計視圖查詢查詢向導向導 1. 1. 簡單查詢向導的使用簡單查詢向導的使用簡單查詢向導的功能:簡單查詢向導的功能:以一個或多個表中的指定字段創(chuàng)以一個或多個表中的指定字段創(chuàng)建查詢;對一組記錄或全部記錄進行各種統(tǒng)計。建查詢;對一組記錄或全部記錄進行各種統(tǒng)計。一般步驟一般步驟啟動簡單查詢向導啟動簡單查詢向導指定記錄源指定記錄源進行統(tǒng)計計算進行統(tǒng)計計算指定查詢名稱指定查詢名稱2.2.查詢設計器的使用查詢設計器的使用 1) 1) 查詢設計器的構造查詢設計器的構造作數(shù)據(jù)源作數(shù)據(jù)源的表或查的表或查詢列表詢列表查詢設查詢設計網(wǎng)格計網(wǎng)格設定查設定查詢條件詢條件字段名字段名字段來源字段來源

6、2) 2) 打開查詢設計器打開查詢設計器顯示表顯示表對話框對話框 3) 3) 查詢設計視圖中的工具條查詢設計視圖中的工具條 視圖按鈕:視圖按鈕:在查詢的三種視圖之間切換在查詢的三種視圖之間切換 查詢類型按鈕:查詢類型按鈕:可在選擇查詢、交叉表查詢、生成表可在選擇查詢、交叉表查詢、生成表查詢、更新查詢、追加查詢和刪除查詢之間切換查詢、更新查詢、追加查詢和刪除查詢之間切換 執(zhí)行按鈕:執(zhí)行按鈕:執(zhí)行查詢,以工作表形式顯示結果集執(zhí)行查詢,以工作表形式顯示結果集 顯示表按鈕:顯示表按鈕:顯示顯示“顯示表顯示表”對話框,列出當前數(shù)據(jù)對話框,列出當前數(shù)據(jù)庫中所有的表和查詢,以便選擇查詢的數(shù)據(jù)源庫中所有的表和

7、查詢,以便選擇查詢的數(shù)據(jù)源 合計按鈕:合計按鈕:在查詢設計區(qū)增加在查詢設計區(qū)增加“總計總計”行,用于各種行,用于各種統(tǒng)計計算,如求和、求平均值等。統(tǒng)計計算,如求和、求平均值等。視圖視圖查詢類型查詢類型執(zhí)行執(zhí)行顯示表顯示表合計合計上限值上限值 生成器生成器 新對象新對象屬性屬性數(shù)據(jù)庫窗口數(shù)據(jù)庫窗口 上限值按鈕上限值按鈕:可以對查詢結果的顯示進行約定,用戶:可以對查詢結果的顯示進行約定,用戶可在文本框內(nèi)指定所要顯示的范圍??稍谖谋究騼?nèi)指定所要顯示的范圍。 屬性按鈕:屬性按鈕:顯示光標處的對象屬性。顯示光標處的對象屬性。 若光標在查詢設計器上半部,則將顯示查詢的若光標在查詢設計器上半部,則將顯示查詢

8、的屬性屬性 若光標在字段內(nèi),則將顯示字段屬性若光標在字段內(nèi),則將顯示字段屬性 生成器按鈕生成器按鈕:彈出表達式生成器對話框,用于生成準:彈出表達式生成器對話框,用于生成準則表達式。在光標位于查詢設計網(wǎng)格的則表達式。在光標位于查詢設計網(wǎng)格的“準則準則”欄時欄時有效有效 數(shù)據(jù)庫窗口按鈕:數(shù)據(jù)庫窗口按鈕:回到數(shù)據(jù)庫窗口?;氐綌?shù)據(jù)庫窗口。 新對象按鈕:新對象按鈕:打開打開“新建表新建表”、“新建查詢新建查詢”、“新新建報表建報表”等各種對話框,準備生成相應的對象。等各種對話框,準備生成相應的對象。 選擇數(shù)據(jù)源:表或查詢,放在上半部;選擇數(shù)據(jù)源:表或查詢,放在上半部; 從表中選擇字段,放在下半部設計網(wǎng)格

9、;從表中選擇字段,放在下半部設計網(wǎng)格; 鍵入準則,設置排序方法,設置是否顯示等。鍵入準則,設置排序方法,設置是否顯示等。 4) 4) 查詢設計與修改的過程查詢設計與修改的過程練習練習5.21、利用查詢設計視圖創(chuàng)建一個名為、利用查詢設計視圖創(chuàng)建一個名為“流行音流行音樂類產(chǎn)品樂類產(chǎn)品”訂購情況的查詢。數(shù)據(jù)源來自訂購情況的查詢。數(shù)據(jù)源來自“產(chǎn)品產(chǎn)品”表和表和“銷貨銷貨記錄記錄”表。表。2、查詢、查詢1985年出生的會員年出生的會員 1)=#1985-1-1# And =#1985-12-31# 2)Between #1985-1-1# And #1985-12-31# 3) Year(會員會員!生日

10、生日)=1985 4) like “1985*”5.3 5.3 查詢條件查詢條件查詢條件:查詢條件:創(chuàng)建查詢時添加的限制條件??墒共樵兘Y果創(chuàng)建查詢時添加的限制條件??墒共樵兘Y果集中包含且僅包含必要的數(shù)據(jù)記錄。集中包含且僅包含必要的數(shù)據(jù)記錄。輸入條件的方法:輸入條件的方法:在設計視圖中打開查詢,在指定字段在設計視圖中打開查詢,在指定字段“條件條件”行的網(wǎng)格中鍵入條件表達式,也可使用表達行的網(wǎng)格中鍵入條件表達式,也可使用表達式生成器構造表達式,還可切換到查詢的式生成器構造表達式,還可切換到查詢的SQLSQL視圖,觀視圖,觀察相應的察相應的SQLSQL語句。語句。AccessAccess中表達式的使

11、用場合:中表達式的使用場合:有效性規(guī)則、查詢或篩選有效性規(guī)則、查詢或篩選準則、屬性或參數(shù)的設置值、計算控件、宏的條件等準則、屬性或參數(shù)的設置值、計算控件、宏的條件等在查詢中加入條件在查詢中加入條件: (操作實例)(操作實例)練習練習53p1寫出查找寫出查找1985年出生的會員的表達式。年出生的會員的表達式。p2寫出查找產(chǎn)品類型為寫出查找產(chǎn)品類型為“CD”和和“VCD”的表達式。的表達式。p CD Or vcd“p 條件寫在條件寫在2行里。行里。pIn (cd,vcd)pLike cd Or Like vcd5.3.1 5.3.1 表達式組成表達式組成 1 1、表達式是、表達式是: :由運算符連

12、接運算對象構成的運算式由運算符連接運算對象構成的運算式 子,它將計算出一個單個的值。子,它將計算出一個單個的值。2 2、表達式的一般格式:、表達式的一般格式: 3、運算對象可以是:運算對象可以是: 常量、函數(shù)、字段名、表達式、控件、屬性常量、函數(shù)、字段名、表達式、控件、屬性 u常量:常量:數(shù)值常量:數(shù)值常量: 1234 、123.4、- 45.12 文本常量:文本常量: abcd、I Love Student、1234 日期常量:日期常量: #1998/08/03#Access 定義的常量:定義的常量: True 、False、Nullu函數(shù)函數(shù):是:是ACCESSACCESS提供的、具有特定

13、功能的一組提供的、具有特定功能的一組操作。操作。函數(shù)的應用格式:函數(shù)名函數(shù)的應用格式:函數(shù)名( ( 表達式表達式 ) ) 例:例: avg()avg()、count( )count( )、year(date( )year(date( )等等AccessAccess中允許使用的運算符和表達式中允許使用的運算符和表達式1 1、算術運算符和表達式、算術運算符和表達式2 2、條件運算符和表達式、條件運算符和表達式3 3、邏輯運算符和表達式、邏輯運算符和表達式4 4、連接運算符和表達式、連接運算符和表達式1.1.算術運算符:算術運算符: + +(加)、(加)、(減)、(減)、 * *(乘)、(乘)、/

14、/(除)(除) (整除)(整除) (乘方)、(乘方)、 ModMod(取余)(取余)3.條件運算符和表達式條件運算符和表達式 1)比較運算符:比較運算符: =、 、=、= 2)使用使用Between運算符運算符構成的構成的條件表達式條件表達式 格式:格式:Between and 功能:功能: 定義了一個數(shù)據(jù)范圍:從運算對象定義了一個數(shù)據(jù)范圍:從運算對象1 的值到的值到運算對象運算對象2的值。的值。2.邏輯表達式與邏輯運算符:邏輯表達式與邏輯運算符:and(and(與與) )、or(or(或或) )、not(not(非非) ) 3) like運算符和統(tǒng)配符運算符和統(tǒng)配符格式:格式: like l

15、ike 是由字符串和通配符組成。是由字符串和通配符組成。 例:例:在名為在名為出生日期出生日期的日期型字段的的日期型字段的“準則準則”欄中輸欄中輸入如下表達式:入如下表達式: Between #1998/08/03# and #1998/12/31# 等價于:等價于: = #1998/08/03# and = #1998/12/31# 通配符通配符用法用法like like 示例:示例:* *從從* *所在處的所在處的0 0到任意多到任意多個任意字符個任意字符* * 可以寫在字符串的開可以寫在字符串的開頭或結尾頭或結尾Like Like “whwh* *”字符型字段字符型字段的值是的值是: :

16、以以whwh打頭的字符串都打頭的字符串都符合條件符合條件 ?1 1個任意字符個任意字符?可以寫在字符串的任?可以寫在字符串的任意位置意位置Like Like “h?h?t t”字符型字段字符型字段的值是的值是 :由:由3 3個字母組成,個字母組成,且第一個字母是且第一個字母是“h h”,第三,第三個是個是”t”的都滿足條件的都滿足條件 表示位于表示位于 內(nèi)的任意內(nèi)的任意1 1個字符個字符Like Like “ba1ba1?”字符型字符型字段的值是字段的值是 :由:由3 3個字符組個字符組成,且第一個字母是成,且第一個字母是“b b”,第三個字符任意第三個字符任意, ,中間的字符中間的字符必須是

17、必須是”a a”或或”1 1”之一的才之一的才滿足條件滿足條件通配符通配符用法用法like like 示例:示例: ! 表示沒有位于表示沒有位于 內(nèi)的內(nèi)的任意任意1 1個字符個字符Like Like “bb!ackack”字符型字符型字段的值是:由字段的值是:由3 3個字符組成,個字符組成,且第一個字母是且第一個字母是“b b”,第三,第三個是個是”k k”, ,中間的字母必須不中間的字母必須不能是能是”a a”或或”c c”才滿足條件才滿足條件-表示位于表示位于 內(nèi)的指定內(nèi)的指定范圍內(nèi)的任意范圍內(nèi)的任意1 1個字母個字母(字母必須升序給出)(字母必須升序給出)Like Like “ba-db

18、a-d”字符型字字符型字段的值是:由段的值是:由2 2個字母組成的,個字母組成的,且第一個字母是且第一個字母是“b b”, 第二第二個字母必須是個字母必須是 a a、b b、c c、d d之之一的才滿足條件一的才滿足條件# #表示位于表示位于# #位置的可以位置的可以是一個是一個0 09 9的任意字的任意字符符Like p#Like p#字符型字段的字符型字段的值是:值是:p0p0、 p2p2、p3p3p9 p9 的的才滿足條件才滿足條件4)4)在條件表達式中使用在條件表達式中使用inin運算符運算符格式: in 學生學生姓名姓名表表字段字段In(In(“張三張三”,”,”李李司司”)”)條件

19、條件表表字段字段條件條件學生學生姓名姓名like(like(“張三張三”)or like()or like(”李李司司”) )說明:與說明:與likelike不同,不同,inin運算中不允許使用通配符。運算中不允許使用通配符。例:查詢條件是例:查詢條件是 姓名姓名 字段中的值是字段中的值是“張三張三” 或或”李司李司” 的都符合條件的都符合條件 4.4.連接運算符連接運算符“& &”和表達式和表達式(1)(1)功能:功能: 將各種類型的表達式的值將各種類型的表達式的值 連接成一個新的字符串連接成一個新的字符串( ( 文本型文本型 ) )(2)(2)表達式例:表達式例:n字符串連

20、接字符串連接 ”CDCD” & & ”2525” 結果是結果是: CD25 : CD25 n不同類型的數(shù)據(jù)的連接不同類型的數(shù)據(jù)的連接100+23 & 100+23 & ”ABAB” 結果是結果是: 123AB : 123AB (運算級:(運算級:+ + 高于高于 & & )32 & 32 & ”ABAB” 結果是結果是: : 類型不匹配(因為類型不匹配(因為& &的優(yōu)先級高于的優(yōu)先級高于 ) 5 5、各種運算符混合運算時,運算符的優(yōu)先級、各種運算符混合運算時,運算符的優(yōu)先級 算術運算符算術運算符: 、(*、/)、m

21、od 、(+、-) 連接運算符連接運算符: & 條件運算符條件運算符: ( 、=、=)、( =、) 邏輯運算符:邏輯運算符: not 、 and、 or 高高低低高高低低高高低低高高低低查詢實例:數(shù)據(jù)庫查詢實例:數(shù)據(jù)庫student練習練習.mdb1. 查詢成績在查詢成績在85至至89的北京的女學生的名單;的北京的女學生的名單;2.查詢姓李查詢姓李_張張_王的、北京和上海的女學生的名單王的、北京和上海的女學生的名單 ;3.不是漢族的學生不是漢族的學生;練習:數(shù)據(jù)庫音像店管理練習:數(shù)據(jù)庫音像店管理-5.mdb1.建立建立”會員訂購產(chǎn)品會員訂購產(chǎn)品”查詢,包含字段查詢,包含字段:產(chǎn)品產(chǎn)品I

22、D、產(chǎn)、產(chǎn)品名稱、訂單品名稱、訂單ID、銷售日期、會員、銷售日期、會員ID、姓名、性別、姓名、性別、電話。電話。以以“會員訂購產(chǎn)品會員訂購產(chǎn)品”為查詢數(shù)據(jù)源,建立如下查詢:為查詢數(shù)據(jù)源,建立如下查詢:2.查找查找CD和和VCD的訂貨情況的訂貨情況3.查找電話前查找電話前4位是位是”6499”的會員的訂貨情況的會員的訂貨情況4.查詢查詢1984年出生的女會員的訂貨情況年出生的女會員的訂貨情況查詢作業(yè)一:查詢作業(yè)一:1.1.查詢成績?yōu)椴樵兂煽優(yōu)?585分以上的學生的:學號、姓名、課程名、性分以上的學生的:學號、姓名、課程名、性別別2. 20032. 2003年及以后出生的男生的年及以后出生的男生的

23、 學號、姓名、性別、出生日學號、姓名、性別、出生日期期3.3.各個專業(yè)各個專業(yè) 2003 2003 至至20042004年年 出生的男生的學號、姓名、性出生的男生的學號、姓名、性別、出生日期別、出生日期4. 20034. 2003出生的男生或出生的男生或20022002年出生的女生的年出生的女生的 學號、姓名、性學號、姓名、性別、出生日期別、出生日期5. 5. 在查詢的結果集中顯示不姓在查詢的結果集中顯示不姓“張張”、“王王”、“李李”的的女生的學號、姓名、性別女生的學號、姓名、性別6. 6. 女生女生 課程成績最高的前課程成績最高的前3 3名的學生的名的學生的 學號、姓名、性別、計算機成績學

24、號、姓名、性別、計算機成績5.3.3 在查詢中執(zhí)行計算在查詢中執(zhí)行計算一、統(tǒng)計計算一、統(tǒng)計計算 使用使用ACCESS預制預制 的的 統(tǒng)計計算函數(shù)統(tǒng)計計算函數(shù) 對查詢對查詢中的中的 某一個查詢字段某一個查詢字段 進行計算。進行計算。 二、自定義計算(設置自定義的查詢字段)二、自定義計算(設置自定義的查詢字段) 設計一個查詢字段,該字段是數(shù)據(jù)源中沒有設計一個查詢字段,該字段是數(shù)據(jù)源中沒有的字段。的字段。 一、統(tǒng)計計算一、統(tǒng)計計算1、計算字段設置方法:、計算字段設置方法:在查詢設計視圖下在查詢設計視圖下,單擊工具欄中的單擊工具欄中的“合計合計”工具按工具按鈕鈕 在查詢設計器的設計網(wǎng)格中將增加一個在查

25、詢設計器的設計網(wǎng)格中將增加一個“總計總計”行行 選定選定預進行計算的字段的預進行計算的字段的 “總計總計”欄的下拉欄的下拉列表框中的統(tǒng)計函數(shù)。列表框中的統(tǒng)計函數(shù)。2 2、要求掌握的統(tǒng)計函數(shù)及其功能、要求掌握的統(tǒng)計函數(shù)及其功能Group ByGroup By定義計算單位(組)定義計算單位(組) Sum Sum求計算單位內(nèi)的計算字段值的總和求計算單位內(nèi)的計算字段值的總和 Min Min 求計算單位內(nèi)的計算字段值中的最小值求計算單位內(nèi)的計算字段值中的最小值Max Max 求計算單位內(nèi)的計算字段值中的最大值求計算單位內(nèi)的計算字段值中的最大值Count Count 求計算單位內(nèi)的計算字段值中的非求計算單

26、位內(nèi)的計算字段值中的非NULLNULL值的個數(shù)值的個數(shù)First First 求計算單位內(nèi)的第一個記錄中的計算字段的值求計算單位內(nèi)的第一個記錄中的計算字段的值Last Last 求計算單位內(nèi)的最后一個記錄中的計算字段的值求計算單位內(nèi)的最后一個記錄中的計算字段的值Expression Expression 當自定義字段的表達式中包含當自定義字段的表達式中包含“合計合計”函數(shù)函數(shù) 時,在該字段的時,在該字段的“總計總計”欄中輸入欄中輸入ExpressionExpressionWhere Where 指定不用于分組的字段條件,該字段不會顯示在指定不用于分組的字段條件,該字段不會顯示在 查詢的結果中查

27、詢的結果中 Avg Avg 求計算單位內(nèi)的計算字段值的平均值求計算單位內(nèi)的計算字段值的平均值3、ACCESS的統(tǒng)計函數(shù)的運算對象的數(shù)據(jù)類型計算函數(shù)計算函數(shù) 可運算的字段的數(shù)據(jù)類型可運算的字段的數(shù)據(jù)類型 Sum 數(shù)字、日期數(shù)字、日期/ /時間、時間、 貨幣和自動編號貨幣和自動編號 Avg Min 文本、數(shù)字、日期文本、數(shù)字、日期/ /時間、貨幣和自動編號時間、貨幣和自動編號 Max Count 文本、備注、數(shù)字、日期文本、備注、數(shù)字、日期/ /時間、貨幣、時間、貨幣、 自動編號、是自動編號、是/ /否和否和 OLE OLE 對象;對象; StDev 數(shù)字、日期數(shù)字、日期/ /時間、貨幣和自動編號

28、時間、貨幣和自動編號 Var First Last 任何類型任何類型 合合計計函函數(shù)數(shù)4 4、使用統(tǒng)計函數(shù)查詢的實例:、使用統(tǒng)計函數(shù)查詢的實例: 查詢所有學生的計算機應用的總成績查詢所有學生的計算機應用的總成績 查詢學習計算機應用課程的學生人數(shù)查詢學習計算機應用課程的學生人數(shù) 查詢各專業(yè)的總成績查詢各專業(yè)的總成績 查詢查詢0101專業(yè)每個學生學習的課程數(shù)專業(yè)每個學生學習的課程數(shù)使用使用wherewhere 查詢?nèi)?偝煽儾樵內(nèi)?偝煽儾环秩?、不分科不分人、不分科統(tǒng)計各種風格音像制品的庫存量統(tǒng)計各種風格音像制品的庫存量 統(tǒng)計統(tǒng)計3 3種最暢銷產(chǎn)品的銷售數(shù)量和庫存量種最暢銷產(chǎn)品的銷售數(shù)量和庫存量統(tǒng)

29、計每個會員訂單的數(shù)量統(tǒng)計每個會員訂單的數(shù)量統(tǒng)計每種類型產(chǎn)品的庫存總量統(tǒng)計每種類型產(chǎn)品的庫存總量查詢作業(yè)二(使用統(tǒng)計函數(shù))查詢作業(yè)二(使用統(tǒng)計函數(shù))數(shù)據(jù)庫是:數(shù)據(jù)庫是: student練習練習.mdb7. 查詢每個學生獲得的總平均成績查詢每個學生獲得的總平均成績查詢查詢2019級總平均成績在級總平均成績在85分以上的每個學生的總平均成分以上的每個學生的總平均成績績8. 查詢每個學生的總成績和所學課程門數(shù)查詢每個學生的總成績和所學課程門數(shù)9. 查詢每個學生獲得的總學分查詢每個學生獲得的總學分 (計算成績(計算成績=60的所學課程的總學分)的所學課程的總學分)10.查詢各地區(qū)學生人數(shù)查詢各地區(qū)學生人

30、數(shù)11.查詢低于總平均成績的學生的信息:姓名、專業(yè)、查詢低于總平均成績的學生的信息:姓名、專業(yè)、平均成績平均成績5.3.4 5.3.4 查詢字段的部分屬性查詢字段的部分屬性3 3:查詢字段的字段名:查詢字段的字段名: :2 2:查詢字段的:查詢字段的“格式格式”屬性屬性1 1:查詢字段的:查詢字段的“標題標題”屬性屬性自定義查詢字段的字段名的方法:自定義查詢字段的字段名的方法: 在某查詢字段的在某查詢字段的“字段字段”欄的開始輸入新的字段欄的開始輸入新的字段名,然后緊跟一個西文的冒號名,然后緊跟一個西文的冒號查詢字段的字段名查詢字段的字段名:前的為定義的查詢的前的為定義的查詢的字段名字段名二、

31、自定義計算(設置自定義的查詢字段)二、自定義計算(設置自定義的查詢字段)1、在自定義的查詢字段中可對一或多個字段進、在自定義的查詢字段中可對一或多個字段進行計算。行計算。2、在自定義的查詢字段的表達式中參加計算的、在自定義的查詢字段的表達式中參加計算的字段字段 的數(shù)據(jù)類型可以是:數(shù)值、日期、文本的數(shù)據(jù)類型可以是:數(shù)值、日期、文本自定義字段自定義字段自定義字段名自定義字段名例:例:studentstudent教學教學.mdb .mdb 中的中的 in in函數(shù)條件查詢函數(shù)條件查詢2 2以以學生學生表為數(shù)據(jù)源,查詢出所有姓表為數(shù)據(jù)源,查詢出所有姓“張張”、“李李”、“王王”的學生的數(shù)據(jù);查詢條件表

32、達式使用:的學生的數(shù)據(jù);查詢條件表達式使用:in(in(“李李”, ,“張張”, ,“王王”) )3.3.自定義查詢字段的設計方法自定義查詢字段的設計方法在查詢設計器中某字段欄輸入表達式在查詢設計器中某字段欄輸入表達式例例查詢學生出生年份查詢學生出生年份 “表表”欄不填任何內(nèi)容欄不填任何內(nèi)容在在“字段字段”欄輸入表達式欄輸入表達式:號前自定義字段的字段名號前自定義字段的字段名 Sum( Sum( 數(shù)值表達式數(shù)值表達式 ) ) avg( avg( 數(shù)值表達式數(shù)值表達式 ) ) Max( Max( 表達式表達式 ) ) Min( Min( 表達式表達式 ) ) Count( Count( 表達式表

33、達式 ) )、在自定義查詢字段的表達式中使用的函數(shù)、在自定義查詢字段的表達式中使用的函數(shù) Left( 文本型數(shù)據(jù)文本型數(shù)據(jù), n ) Date( ) 取系統(tǒng)日期取系統(tǒng)日期 now() year( 日期數(shù)據(jù)日期數(shù)據(jù) ) 取日期型數(shù)據(jù)取日期型數(shù)據(jù) 數(shù)據(jù)中的年號數(shù)據(jù)中的年號 month( 日期數(shù)據(jù)日期數(shù)據(jù) ) 取日期型數(shù)據(jù)取日期型數(shù)據(jù) 數(shù)據(jù)中的月號數(shù)據(jù)中的月號 day( 日期數(shù)據(jù)日期數(shù)據(jù) ) 取日期型數(shù)據(jù)取日期型數(shù)據(jù) 數(shù)據(jù)中的日號數(shù)據(jù)中的日號 iif( 條件表達式條件表達式1,表達式,表達式2,表達式,表達式3 )合計函數(shù)合計函數(shù)常用函數(shù)常用函數(shù)iif( )iif( )函數(shù)函數(shù)piif( )iif(

34、 )函數(shù)的格式:函數(shù)的格式:piif( )iif( )函數(shù)的功能:函數(shù)的功能:先計算條件表達式先計算條件表達式1,1,根據(jù)表達式根據(jù)表達式1 1的值確定返回表達的值確定返回表達式式2 2或或3 3的值。的值。n說明:說明:1 1、表達式、表達式2 2和表達式和表達式3 3 可以是任何數(shù)據(jù)類型的表可以是任何數(shù)據(jù)類型的表達式;達式;2 2、表達式、表達式2 2和表達式和表達式3 3還可以是還可以是 iif( )iif( )函數(shù)函數(shù)此種情況就構成了此種情況就構成了iif( )iif( )函數(shù)的嵌套。函數(shù)的嵌套。iif( 條件表達式條件表達式1,表達式,表達式2,表達式,表達式3)iif( )iif(

35、 )函數(shù)例函數(shù)例p根據(jù)學生成績顯示其等級:根據(jù)學生成績顯示其等級:n在查詢中自定義一個等級字段:在查詢設計視圖在查詢中自定義一個等級字段:在查詢設計視圖中的該自定義字段的中的該自定義字段的欄中輸入公式:欄中輸入公式:iif( 成績成績=85,”優(yōu)秀優(yōu)秀”,iif( 成績成績=60,“及格及格”,“不及不及格格”) )例:例: 平均成績的等級平均成績的等級1 5 5、不需要分組情況下的自定義查詢字段的查詢、不需要分組情況下的自定義查詢字段的查詢例例查詢姓張、姓王的學生6 6、需要分組且在自定義查詢字段的的表達式中、需要分組且在自定義查詢字段的的表達式中不使用不使用“合計函數(shù)合計函數(shù)”的查詢例的查

36、詢例 自自定定義義查查詢詢字段字段 查詢男女生各出生年份的人數(shù)查詢男女生各出生年份的人數(shù)查詢男女生各出生年份的人數(shù)7 7、需要分組且在自定義查詢字段的的表達式、需要分組且在自定義查詢字段的的表達式中使用了中使用了“合計函數(shù)合計函數(shù)”的查詢例的查詢例若自定義字段的表達式中包含若自定義字段的表達式中包含“合計合計”函函數(shù),則在自定義字段的數(shù),則在自定義字段的“合計合計”欄要選欄要選擇擇 “Expression”例例查詢男女生的平均年齡查詢男女生的平均年齡AVG( )是合計函數(shù)是合計函數(shù)此總計欄也可以空白此總計欄也可以空白查詢作業(yè)三(自定義查詢)查詢作業(yè)三(自定義查詢)12.12.查詢(含)查詢(含

37、)2020歲以下的女生的學號、姓名、年齡歲以下的女生的學號、姓名、年齡13. 13. 查詢(含)查詢(含)1818歲以上男、女生的人數(shù)歲以上男、女生的人數(shù)14. 14. 查詢(含)查詢(含)1818歲以上男、女生各年齡段的人數(shù)歲以上男、女生各年齡段的人數(shù)15. 15. 查詢會員的消費金額查詢會員的消費金額16. 16. 查詢每種產(chǎn)品的銷售總額查詢每種產(chǎn)品的銷售總額17. n1 1、功能:查詢會員消費金額的等級、功能:查詢會員消費金額的等級n2 2、查詢的結果集中的字段有、查詢的結果集中的字段有: : 會員姓名、消費金額、等級會員姓名、消費金額、等級n3 3、等級的劃分條件:、等級的劃分條件:

38、消費金額消費金額500 500 的的 “一級一級” , 300 300 消費金額消費金額=500 =500 的的 “二級二級” , 消費金額消費金額=300=60=60)3.3.交叉表交叉表_ _專業(yè)性別人數(shù)專業(yè)性別人數(shù)4.4.交叉表交叉表_ _專業(yè)課程平均成績專業(yè)課程平均成績 5.4.2 參數(shù)查詢參數(shù)查詢參數(shù)也是準則,不同的是,準則是在創(chuàng)建查詢時輸入的,參數(shù)也是準則,不同的是,準則是在創(chuàng)建查詢時輸入的,而參數(shù)是在運行即打開查詢時輸入的。而參數(shù)是在運行即打開查詢時輸入的。打開參數(shù)查詢時,打開參數(shù)查詢時,AccessAccess系統(tǒng)顯示對話框,要求輸入數(shù)系統(tǒng)顯示對話框,要求輸入數(shù)據(jù),然后將輸入的

39、數(shù)據(jù)插入到指定準則的網(wǎng)格。據(jù),然后將輸入的數(shù)據(jù)插入到指定準則的網(wǎng)格。參數(shù):字段名和參數(shù):字段名和提示信息要用方提示信息要用方括號括起來。括號括起來。將條件改將條件改為參數(shù)為參數(shù)請輸入姓名:請輸入姓名:參數(shù):參數(shù):Left(姓名姓名,1)=請輸入姓氏:請輸入姓氏:參數(shù):參數(shù):18.18.查詢消費了某種產(chǎn)品的會員查詢消費了某種產(chǎn)品的會員n結果集中顯示:會員的名字、消費的產(chǎn)品名、結果集中顯示:會員的名字、消費的產(chǎn)品名、消費的產(chǎn)品數(shù)量消費的產(chǎn)品數(shù)量19.19.查詢某門課程成績在若干分以上的和若干查詢某門課程成績在若干分以上的和若干分以下的學生的成績分以下的學生的成績20.20.每個專業(yè)的每門課程的平均

40、成績每個專業(yè)的每門課程的平均成績21.21.每種產(chǎn)品各月銷售額每種產(chǎn)品各月銷售額查詢作業(yè)四:查詢作業(yè)四:5.4.3 操作查詢設計操作查詢設計操作查詢:是在選擇查詢的基礎上創(chuàng)建的。具操作查詢:是在選擇查詢的基礎上創(chuàng)建的。具有選擇查詢、參數(shù)查詢的特性,可對數(shù)據(jù)源有選擇查詢、參數(shù)查詢的特性,可對數(shù)據(jù)源中的數(shù)據(jù)進行追加、刪除、更新,并可在選中的數(shù)據(jù)進行追加、刪除、更新,并可在選擇查詢基礎上創(chuàng)建新表。擇查詢基礎上創(chuàng)建新表。 操作查詢的種類:操作查詢的種類:按查詢結果對一個或多個表執(zhí)行特定的操作。按查詢結果對一個或多個表執(zhí)行特定的操作。 刪除查詢:從表中刪除符合條件的記錄。刪除查詢:從表中刪除符合條件的記

41、錄。更新查詢:更新表中的符合條件的記錄。更新查詢:更新表中的符合條件的記錄。追加查詢:將符合條件的記錄添加到表尾。追加查詢:將符合條件的記錄添加到表尾。生成表查詢:根據(jù)查詢結果生成新表。生成表查詢:根據(jù)查詢結果生成新表。 舉例:舉例: 1、將、將“學生學生”表復制成名為表復制成名為學生學生1表;表; 2、 修改修改學生學生1表的結構:只保留學號、姓名、性別字表的結構:只保留學號、姓名、性別字段段.3、生成、生成學生學生2表,只保留學號、姓名、性別字段表,只保留學號、姓名、性別字段.4、生成、生成學生學生3表,只保留學號、姓名、性別字段表,只保留學號、姓名、性別字段.5、建立一個、建立一個“刪除

42、查詢刪除查詢”:將:將學生學生1所有的記錄都刪掉;所有的記錄都刪掉;建立一個建立一個“刪除查詢刪除查詢”, 刪除刪除學生學生2表的表的“男男”生;生; 建立一個建立一個“刪除查詢刪除查詢”, 刪除刪除學生學生3表的表的“女女”生;生;6、建立一個、建立一個“追加查詢追加查詢”,數(shù)據(jù)源是,數(shù)據(jù)源是 學生學生3表和表和學生學生2表表.7、建立一個、建立一個“更新查詢更新查詢”,把課程號為,把課程號為”02“的分數(shù)增加的分數(shù)增加20分。分。8、建立一個、建立一個“生成表查詢生成表查詢”,生成只有女生的一個新表,生成只有女生的一個新表“學生學生4”查詢作業(yè)五:查詢作業(yè)五:22. 生成表查詢生成表查詢:

43、生成新表生成新表” 補考名單補考名單”,字段:字段: 學號、姓名、學號、姓名、課程名、成績課程名、成績23.更新查詢:更新查詢:n將將表中添加一表中添加一“補考日期補考日期”字段字段n將將 2004/12/10 輸入到輸入到“補考日期補考日期”字段中字段中24.刪除查詢刪除查詢n復制復制 student練習練習.dbm數(shù)據(jù)庫;數(shù)據(jù)庫; 庫名為庫名為student 副本副本.dbmn修改修改student副本副本.dbm數(shù)據(jù)庫的關系;數(shù)據(jù)庫的關系;“班級班級”到到“學生學生”,使,使“學生學生”表表 到到 “學生成績學生成績”表的關系具有表的關系具有 的約束的約束;n做一刪除查詢:刪除做一刪除查

44、詢:刪除99級學生的數(shù)據(jù)級學生的數(shù)據(jù)* *5.6 SQL5.6 SQL查詢查詢( (選修選修) ) 1. SQL語言語言SQL(Structured Query Language)SQL(Structured Query Language)語言:簡單易學的關語言:簡單易學的關系數(shù)據(jù)庫語言。系數(shù)據(jù)庫語言。 SQLSQL語言語言的功能:的功能:數(shù)據(jù)定義語言數(shù)據(jù)定義語言DDLDDL:定義數(shù)據(jù)庫邏輯結構,包括定義:定義數(shù)據(jù)庫邏輯結構,包括定義表、視圖和索引等。表、視圖和索引等。數(shù)據(jù)操縱語言數(shù)據(jù)操縱語言DMLDML:包括數(shù)據(jù)檢索和數(shù)據(jù)更新兩大類:包括數(shù)據(jù)檢索和數(shù)據(jù)更新兩大類操作,其中數(shù)據(jù)更新包括插入、刪

45、除和修改操作。操作,其中數(shù)據(jù)更新包括插入、刪除和修改操作。數(shù)據(jù)控制語言數(shù)據(jù)控制語言:包括基本表和視圖等的授權、完整:包括基本表和視圖等的授權、完整性描述以及事務開始和結束等控制語句等。性描述以及事務開始和結束等控制語句等。嵌入式嵌入式SQLSQL語言:語言:規(guī)定了規(guī)定了SQLSQL語言在宿主語言程序中語言在宿主語言程序中的使用規(guī)則。的使用規(guī)則。 SQLSQL語言應用的幾個方面:語言應用的幾個方面: 在查詢在查詢“設計設計”視圖中創(chuàng)建查詢時,視圖中創(chuàng)建查詢時,AccessAccess將在后臺將在后臺構造等效的構造等效的SQLSQL語句。語句。 某些查詢不能在設計網(wǎng)格中創(chuàng)建。對于傳遞查詢、數(shù)某些查

46、詢不能在設計網(wǎng)格中創(chuàng)建。對于傳遞查詢、數(shù)據(jù)定義查詢和聯(lián)合查詢,必須直接在據(jù)定義查詢和聯(lián)合查詢,必須直接在 SQL SQL 視圖中創(chuàng)建視圖中創(chuàng)建 SQL SQL 語句。語句。 在在AccessAccess中,某些情況下,中,某些情況下,AccessAccess會幫助用戶填入會幫助用戶填入SQLSQL語句。語句。SQLSQL語句的使用方法:語句的使用方法:可以在可以在 SQL SQL 視圖中編輯或查看視圖中編輯或查看SQLSQL語句。如果在語句。如果在 SQLSQL視視圖中更改了查詢,圖中更改了查詢,則該查詢可能與其原先在查詢則該查詢可能與其原先在查詢“設設計計”視圖中的顯示方式有所區(qū)別。視圖中的

47、顯示方式有所區(qū)別。2. SQL語言在Access中的應用 創(chuàng)建創(chuàng)建SQL查詢步驟查詢步驟打開查詢設計視圖打開查詢設計視圖切換到切換到SQL視圖視圖3.SQL3.SQL創(chuàng)建表語句創(chuàng)建表語句SQLSQL創(chuàng)建表的語句格式為:創(chuàng)建表的語句格式為: CREATE TABLE CREATE TABLE ( (1類型類型( (長度長度) ) ,2類型類型( (長度長度) );); 其中其中字段類型字段類型可以用以下類型符定義:可以用以下類型符定義: TEXT TEXT 、INTEGER INTEGER 、FLOATFLOAT、MONEYMONEY、NUMBERNUMBER、CHARCHAR、DATEDATE

48、、LOGICALLOGICAL、MEMOMEMO、GENERALGENERAL例如:創(chuàng)建例如:創(chuàng)建“及格學生表及格學生表”:create table create table 及格的學生及格的學生 ( (學號學號 text(6),text(6),姓名姓名 char(8),char(8),專業(yè)專業(yè) char(10),char(10),成成績績 float,float,年齡年齡 number,number,婚否婚否 logical,logical,照片照片 general);general);4.SQL4.SQL修改表結構語句修改表結構語句(1)(1)增加字段的語句格式為:增加字段的語句格式為:

49、ALTER TABLE ALTER TABLE ADD ADD 1類型類型( (長度長度),),2類型類型( (長度長度) ) (2)(2)修改字段屬性的語句格式為:修改字段屬性的語句格式為: ALTER TABLE ALTER TABLE ALTERALTER 1類型類型( (長度長度),),2類型類型( (長長度度) ) (3)(3)刪除字段的語句格式為:刪除字段的語句格式為: ALTER TABLE ALTER TABLE DROP DROP 1類型類型( (長度長度),),2類型類型( (長長度度) ) 修改字段:修改字段:ALTER TABLE 及格的學生及格的學生alter 姓名姓

50、名 char(20)刪除字段:刪除字段:alter table 及格的學生及格的學生drop 照片照片增加字段:增加字段:alter table 及格的學生及格的學生add 照片照片 general5.SQL5.SQL數(shù)據(jù)操作語句數(shù)據(jù)操作語句(1)SQL(1)SQL插入記錄的語句格式為:插入記錄的語句格式為: INSERT INTO INSERT INTO (字段名字段名1,1,字段名字段名2 2 ) ) VALUSES( VALUSES(表達式表達式1,1,表達式表達式2 2 ) )(2)SQL(2)SQL更新數(shù)據(jù)的語句格式為:更新數(shù)據(jù)的語句格式為: UPDATE UPDATE SET SE

51、T= = WHERE WHERE(3)SQL(3)SQL刪除數(shù)據(jù)的語句格式為:刪除數(shù)據(jù)的語句格式為: DELETE FROMDELETE FROM WHERE WHERE 插入一條新記錄:插入一條新記錄:INSERT INTO 及格的學生及格的學生VALUES (000111, 張三張三, 金融金融, 70, 18, 0);修改一批記錄:修改一批記錄:UPDATE 及格的學生及格的學生 SET 及格的學生及格的學生.成績成績 = 及格及格的學生的學生!成績成績+20WHERE 專業(yè)專業(yè)=金融金融;刪除一批記錄:刪除一批記錄:DELETE FROM 及格的學生及格的學生WHERE 專業(yè)專業(yè)= 金

52、融金融;6.SQL6.SQL創(chuàng)建選擇查詢語句創(chuàng)建選擇查詢語句SELECTSELECT語句語句基本形式:基本形式:SELECT-FROM-WHERESELECT-FROM-WHERESQLSQL語句語句創(chuàng)建選擇查詢創(chuàng)建選擇查詢的格式:的格式:SELECTALL|DISTINCT|DISTINCTROW|TOP SELECTALL|DISTINCT|DISTINCTROW|TOP ,2 FROM FROM WHERE WHERE ORDER BYORDER BYASCDESCASCDESC例例1 1:查找查找“李李愚愚”的學號和所在的班級的學號和所在的班級SELECT SELECT 學號學號, ,

53、姓名姓名, ,班級號班級號FROM FROM 學生學生WHERE WHERE 姓名姓名=李愚李愚;例例2 2:查找所有學生的全部情況查找所有學生的全部情況SELECT SELECT * *FROM FROM 學生學生; ;例例3 3:查找通信查找通信2121班、電子班、電子2121班學生的姓名和入學成績班學生的姓名和入學成績, ,結果按入學分數(shù)的降序排列。結果按入學分數(shù)的降序排列。SELECT SELECT 學號學號, ,姓名姓名, ,入學總分入學總分FROM FROM 學生學生WHERE WHERE 班級班級 IN(IN(“通信通信2121”, ,“電子電子2121”) )ORDER BY ORDER BY 入學總分入學總分 DESC;DESC; ORDER BYORDER BY子句:子句:查詢結果排序,查詢結果排序,DESC:DESC:降序,降序,ASC:ASC:升序升序 SQLSQL查詢語句舉例查詢語句舉例例例4 4:查找選修了查找選修了“面向對象編程面向對象編程”課程的學生姓名、所課程的學生姓名、所在班級及考試成績在班級及考試成

溫馨提示

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

評論

0/150

提交評論