第五講-查詢ppt課件_第1頁
第五講-查詢ppt課件_第2頁
第五講-查詢ppt課件_第3頁
第五講-查詢ppt課件_第4頁
第五講-查詢ppt課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章第五章查詢查詢5.1 5.1 查詢查詢一、查詢的特點(diǎn)一、查詢的特點(diǎn)查詢是在數(shù)據(jù)庫的表對(duì)象中查詢是在數(shù)據(jù)庫的表對(duì)象中根據(jù)給定的條件挑選記錄根據(jù)給定的條件挑選記錄或者進(jìn)一步對(duì)挑選出來的或者進(jìn)一步對(duì)挑選出來的記錄做某種操作的數(shù)據(jù)庫記錄做某種操作的數(shù)據(jù)庫對(duì)象。對(duì)象。Access 允許用戶在前臺(tái)允許用戶在前臺(tái)選擇查詢?cè)O(shè)計(jì)視圖窗口選擇查詢?cè)O(shè)計(jì)視圖窗口經(jīng)過直觀的操作構(gòu)造查詢,經(jīng)過直觀的操作構(gòu)造查詢,系統(tǒng)自動(dòng)在后臺(tái)系統(tǒng)自動(dòng)在后臺(tái)SQL視視圖窗口生成對(duì)應(yīng)的圖窗口生成對(duì)應(yīng)的SQL語句。語句。挑選出來的記錄組成為一個(gè)動(dòng)態(tài)集挑選出來的記錄組成為一個(gè)動(dòng)態(tài)集(Dynaset)并以數(shù)據(jù)表視圖的方式顯示。并以數(shù)據(jù)表視圖

2、的方式顯示。動(dòng)態(tài)集是一個(gè)暫時(shí)表,當(dāng)用戶封鎖動(dòng)態(tài)動(dòng)態(tài)集是一個(gè)暫時(shí)表,當(dāng)用戶封鎖動(dòng)態(tài)集數(shù)據(jù)表視圖的時(shí)候,動(dòng)態(tài)集消逝。集數(shù)據(jù)表視圖的時(shí)候,動(dòng)態(tài)集消逝。 查詢對(duì)象僅僅保管查詢的構(gòu)造查詢對(duì)象僅僅保管查詢的構(gòu)造查詢查詢所涉及到的表和字段、排序準(zhǔn)那么、挑所涉及到的表和字段、排序準(zhǔn)那么、挑選條件等。選條件等。運(yùn)轉(zhuǎn)查詢所生成的動(dòng)態(tài)集具有很大的靈運(yùn)轉(zhuǎn)查詢所生成的動(dòng)態(tài)集具有很大的靈敏性,適宜作為報(bào)表和窗體的數(shù)據(jù)源。敏性,適宜作為報(bào)表和窗體的數(shù)據(jù)源。二、查詢的類型二、查詢的類型 選擇查詢選擇查詢 參數(shù)查詢參數(shù)查詢 交叉表查詢交叉表查詢 動(dòng)作查詢動(dòng)作查詢(操作查詢操作查詢) SQL查詢查詢5.2 5.2 選擇查詢選擇查

3、詢 選擇查詢是最常見、最簡(jiǎn)單的查詢選擇查詢是最常見、最簡(jiǎn)單的查詢類型,它從一個(gè)或多個(gè)表中檢索數(shù)據(jù),類型,它從一個(gè)或多個(gè)表中檢索數(shù)據(jù),并以數(shù)據(jù)表方式顯示結(jié)果。并以數(shù)據(jù)表方式顯示結(jié)果。 創(chuàng)建選擇查詢的方法有兩種:創(chuàng)建選擇查詢的方法有兩種: 運(yùn)用導(dǎo)游運(yùn)用導(dǎo)游 運(yùn)用設(shè)計(jì)視圖運(yùn)用設(shè)計(jì)視圖1、查詢?cè)O(shè)計(jì)視圖的構(gòu)造:、查詢?cè)O(shè)計(jì)視圖的構(gòu)造:上半部分叫表上半部分叫表/查詢輸入?yún)^(qū):查詢輸入?yún)^(qū): 用于顯示查詢要運(yùn)用的表或用于顯示查詢要運(yùn)用的表或其它查詢;其它查詢;下半部分叫范例查詢?cè)O(shè)計(jì)網(wǎng)格:下半部分叫范例查詢?cè)O(shè)計(jì)網(wǎng)格: 用于確定動(dòng)態(tài)集所擁有的字段用于確定動(dòng)態(tài)集所擁有的字段和挑選條件等。和挑選條件等。 設(shè)置如下幾行:設(shè)

4、置如下幾行:【字段】行:用于設(shè)置查詢所涉及到的字段?!咀侄巍啃校河糜谠O(shè)置查詢所涉及到的字段?!颈怼啃校河糜谥该髯侄嗡鶜w屬的表?!颈怼啃校河糜谥该髯侄嗡鶜w屬的表?!九判颉啃校河糜谠O(shè)置查詢的排序準(zhǔn)那么?!九判颉啃校河糜谠O(shè)置查詢的排序準(zhǔn)那么?!撅@示】行:用于確定相關(guān)字段能否在動(dòng)態(tài)集中【顯示】行:用于確定相關(guān)字段能否在動(dòng)態(tài)集中出現(xiàn)。它以復(fù)選框的方式出現(xiàn),出現(xiàn)。它以復(fù)選框的方式出現(xiàn), 當(dāng)復(fù)選框選中當(dāng)復(fù)選框選中時(shí),相關(guān)字段將在動(dòng)態(tài)集中出現(xiàn)。時(shí),相關(guān)字段將在動(dòng)態(tài)集中出現(xiàn)?!緱l件】行:用于設(shè)置查詢的挑選條件?!緱l件】行:用于設(shè)置查詢的挑選條件?!净颉啃校阂远嘈械姆绞匠霈F(xiàn)?!净颉啃校阂远嘈械姆绞匠霈F(xiàn)。2 2、運(yùn)

5、轉(zhuǎn)查詢、運(yùn)轉(zhuǎn)查詢 三種方法:三種方法: l l 在選擇查詢?cè)O(shè)計(jì)視圖中直在選擇查詢?cè)O(shè)計(jì)視圖中直接單擊工具欄上的【運(yùn)轉(zhuǎn)】按鈕接單擊工具欄上的【運(yùn)轉(zhuǎn)】按鈕 。 l l 在選擇查詢?cè)O(shè)計(jì)視圖中直在選擇查詢?cè)O(shè)計(jì)視圖中直接單擊工具欄上的【視圖】按鈕接單擊工具欄上的【視圖】按鈕 。 l l 在【數(shù)據(jù)庫】窗口中,首在【數(shù)據(jù)庫】窗口中,首先選擇要運(yùn)轉(zhuǎn)的查詢,然后單擊先選擇要運(yùn)轉(zhuǎn)的查詢,然后單擊【翻開】按鈕【翻開】按鈕 。3 3、修正查詢、修正查詢 對(duì)于建立好的查詢,可以進(jìn)展設(shè)計(jì)修對(duì)于建立好的查詢,可以進(jìn)展設(shè)計(jì)修正。正。 吊銷字段吊銷字段 插入字段插入字段 挪動(dòng)字段挪動(dòng)字段 命名字段命名字段 查詢條件就是在創(chuàng)建查詢

6、時(shí)所添加查詢條件就是在創(chuàng)建查詢時(shí)所添加的一些限制條件的一些限制條件,運(yùn)用查詢條件可以使查運(yùn)用查詢條件可以使查詢結(jié)果中僅包含滿足查詢條件的數(shù)據(jù)記詢結(jié)果中僅包含滿足查詢條件的數(shù)據(jù)記錄錄.5.3 5.3 查詢條件查詢條件一、輸入查詢條件一、輸入查詢條件 查詢條件即表達(dá)式。查詢條件即表達(dá)式。 Access 的許多操作中都要運(yùn)用的許多操作中都要運(yùn)用表達(dá)式,表達(dá)式就是算術(shù)或邏輯表達(dá)式,表達(dá)式就是算術(shù)或邏輯運(yùn)算符、常數(shù)、函數(shù)和字段稱號(hào)、運(yùn)算符、常數(shù)、函數(shù)和字段稱號(hào)、控件和屬性的恣意組合,計(jì)算結(jié)控件和屬性的恣意組合,計(jì)算結(jié)果為單個(gè)值。果為單個(gè)值。二、用邏輯運(yùn)算符組合條件二、用邏輯運(yùn)算符組合條件邏輯運(yùn)算符有三個(gè)

7、:邏輯運(yùn)算符有三個(gè):And、Or和和Not。 And和和Or運(yùn)算符運(yùn)算符 在多個(gè)【條件】單元格中輸入表在多個(gè)【條件】單元格中輸入表達(dá)式時(shí),達(dá)式時(shí),Access用用And或或Or運(yùn)算運(yùn)算符進(jìn)展組合。假設(shè)在同一行的不符進(jìn)展組合。假設(shè)在同一行的不同單元格中設(shè)置了條件,同單元格中設(shè)置了條件,Access用用And運(yùn)算符,表示挑選滿足一運(yùn)算符,表示挑選滿足一切單元格條件的記錄。假設(shè)在多切單元格條件的記錄。假設(shè)在多個(gè)不同行中設(shè)置條件,個(gè)不同行中設(shè)置條件,Access用用Or運(yùn)算符,表示挑選只需滿足任運(yùn)算符,表示挑選只需滿足任何一個(gè)單元格條件的記錄。何一個(gè)單元格條件的記錄。 Not運(yùn)算符運(yùn)算符 利用利用No

8、t運(yùn)算符可以設(shè)置字段的運(yùn)算符可以設(shè)置字段的不匹配值。不匹配值。 留意:輸入運(yùn)算符時(shí),英文大小留意:輸入運(yùn)算符時(shí),英文大小寫均可。寫均可。三、用關(guān)系運(yùn)算符組合條件三、用關(guān)系運(yùn)算符組合條件關(guān)系運(yùn)算符包括大于關(guān)系運(yùn)算符包括大于、小于、小于、不、不等于等于、大于等于、大于等于=、小于等于、小于等于=、等于、等于=,利用關(guān)系運(yùn)算符可,利用關(guān)系運(yùn)算符可以設(shè)置字段的取值范圍。以設(shè)置字段的取值范圍。四、用四、用Between運(yùn)算符組合條件運(yùn)算符組合條件Between運(yùn)算符也可以指定字段的運(yùn)算符也可以指定字段的取值范圍,范圍之間用取值范圍,范圍之間用And銜接。銜接。例如,查詢成果在例如,查詢成果在8090分之

9、間的分之間的記錄。記錄。“成果字段的條件應(yīng)設(shè)置成果字段的條件應(yīng)設(shè)置為:為: Between 80 And 90五、用五、用In運(yùn)算符組合條件運(yùn)算符組合條件In運(yùn)算符用于指定字段的一系列值。運(yùn)算符用于指定字段的一系列值。例如:查詢例如:查詢“學(xué)歷是碩士,或者學(xué)歷是碩士,或者“學(xué)歷是本科的記錄學(xué)歷是本科的記錄六、用六、用Like運(yùn)算符組合條件運(yùn)算符組合條件Like運(yùn)算符用于查找字段的部分值。運(yùn)算符用于查找字段的部分值。格式為:格式為: Like 字符方式字符方式 在所定義的字符方式中,用在所定義的字符方式中,用“?表表示該位置可匹配任何一個(gè)字符;示該位置可匹配任何一個(gè)字符;用用“*表示該位置可匹配

10、零或多表示該位置可匹配零或多個(gè)字符;用個(gè)字符;用“#表示該位置可匹表示該位置可匹配一個(gè)數(shù)字;用配一個(gè)數(shù)字;用“ 方括號(hào)描畫方括號(hào)描畫一個(gè)范圍。一個(gè)范圍。5.4 5.4 查詢中的計(jì)算查詢中的計(jì)算 有時(shí),用戶能夠?qū)Ρ碇械拿恳粭l記錄有時(shí),用戶能夠?qū)Ρ碇械拿恳粭l記錄并不非常關(guān)懷,而關(guān)懷的僅僅是每一個(gè)學(xué)并不非常關(guān)懷,而關(guān)懷的僅僅是每一個(gè)學(xué)生的總成果、平均成果等匯總結(jié)果。為了生的總成果、平均成果等匯總結(jié)果。為了獲得這些匯總數(shù)據(jù),要在查詢中執(zhí)行計(jì)獲得這些匯總數(shù)據(jù),要在查詢中執(zhí)行計(jì)算。算。 查詢中的計(jì)算有兩種:預(yù)定義計(jì)算和查詢中的計(jì)算有兩種:預(yù)定義計(jì)算和自定義計(jì)算。自定義計(jì)算。一、預(yù)定義計(jì)算一、預(yù)定義計(jì)算 預(yù)

11、定義計(jì)算用于對(duì)查詢中的分預(yù)定義計(jì)算用于對(duì)查詢中的分組記錄或全部記錄進(jìn)展組記錄或全部記錄進(jìn)展“總計(jì)總計(jì)計(jì)算,比如求總和、平均值、計(jì)計(jì)算,比如求總和、平均值、計(jì)數(shù)、最小值、最大值、規(guī)范偏向數(shù)、最小值、最大值、規(guī)范偏向或方差,或方差,Access經(jīng)過聚合函數(shù)經(jīng)過聚合函數(shù)來完成這些計(jì)算。來完成這些計(jì)算。首先在翻開的選擇查詢?cè)O(shè)計(jì)視圖中,單擊首先在翻開的選擇查詢?cè)O(shè)計(jì)視圖中,單擊工具欄上的【總計(jì)】按鈕,工具欄上的【總計(jì)】按鈕,Access 在設(shè)在設(shè)計(jì)網(wǎng)格中添加【總計(jì)】行。計(jì)網(wǎng)格中添加【總計(jì)】行。如:統(tǒng)計(jì)男、女各多少人?如:統(tǒng)計(jì)男、女各多少人? 統(tǒng)計(jì)不同職稱的人數(shù)是多少?統(tǒng)計(jì)不同職稱的人數(shù)是多少? 如:統(tǒng)計(jì)每

12、個(gè)教師所開設(shè)的課程數(shù)?如:統(tǒng)計(jì)每個(gè)教師所開設(shè)的課程數(shù)? 如:統(tǒng)計(jì)如:統(tǒng)計(jì)“ACCESS8班的班的“計(jì)算機(jī)根底計(jì)算機(jī)根底與操作下課程的平均成果?與操作下課程的平均成果? 如:統(tǒng)計(jì)如:統(tǒng)計(jì)“ACCESS8班班“女生的女生的“計(jì)算機(jī)計(jì)算機(jī)根底與操作下課程的平均成果?根底與操作下課程的平均成果? 【總計(jì)】行用于為參與匯總計(jì)算的一切字段設(shè)【總計(jì)】行用于為參與匯總計(jì)算的一切字段設(shè)置匯總選項(xiàng)?!究傆?jì)】行共有置匯總選項(xiàng)。【總計(jì)】行共有12個(gè)選項(xiàng),它們個(gè)選項(xiàng),它們分別是:分別是:Group By選項(xiàng):用以指定分組匯總字段。選項(xiàng):用以指定分組匯總字段。Sum選項(xiàng):為每一組中指定的字段進(jìn)展求和運(yùn)選項(xiàng):為每一組中指定

13、的字段進(jìn)展求和運(yùn)算。算。Avg選項(xiàng):為每一組中指定的字段進(jìn)展求平均值選項(xiàng):為每一組中指定的字段進(jìn)展求平均值運(yùn)算。運(yùn)算。Min選項(xiàng):為每一組中指定的字段進(jìn)展求最小值選項(xiàng):為每一組中指定的字段進(jìn)展求最小值運(yùn)算。運(yùn)算。Max選項(xiàng):為每一組中指定的字段進(jìn)展求最大值選項(xiàng):為每一組中指定的字段進(jìn)展求最大值運(yùn)算。運(yùn)算。Count:根據(jù)指定的字段計(jì)算每一組中記錄的個(gè):根據(jù)指定的字段計(jì)算每一組中記錄的個(gè)數(shù)。數(shù)。StDev:根據(jù)指定的字段計(jì)算每一組的統(tǒng)計(jì)規(guī)范:根據(jù)指定的字段計(jì)算每一組的統(tǒng)計(jì)規(guī)范差。差。Var:根據(jù)指定的字段計(jì)算每一組的統(tǒng)計(jì)方差。:根據(jù)指定的字段計(jì)算每一組的統(tǒng)計(jì)方差。First:根據(jù)指定的字段獲取每

14、一組中首條記錄:根據(jù)指定的字段獲取每一組中首條記錄該字段的值。該字段的值。Last:根據(jù)指定字段獲取每一組中最后一條記:根據(jù)指定字段獲取每一組中最后一條記錄該字段的值。錄該字段的值。Expression:用以在設(shè)計(jì)網(wǎng)格的:用以在設(shè)計(jì)網(wǎng)格的“字段行中建字段行中建立計(jì)算表達(dá)式。立計(jì)算表達(dá)式。Where:限定表中的哪些記錄可以參與分組匯:限定表中的哪些記錄可以參與分組匯總??偂?二、自定義計(jì)算二、自定義計(jì)算 1、自定義計(jì)算是在設(shè)計(jì)網(wǎng)格中、自定義計(jì)算是在設(shè)計(jì)網(wǎng)格中創(chuàng)建新的計(jì)算字段。計(jì)算字段創(chuàng)建新的計(jì)算字段。計(jì)算字段是在查詢中重新定義的字段。是在查詢中重新定義的字段。 2、創(chuàng)建計(jì)算字段的方法是:將、創(chuàng)建

15、計(jì)算字段的方法是:將表達(dá)式輸入到查詢?cè)O(shè)計(jì)網(wǎng)格中表達(dá)式輸入到查詢?cè)O(shè)計(jì)網(wǎng)格中的空的空“字段單元格中,假設(shè)字段單元格中,假設(shè) 表達(dá)式包含字段名,必需用括表達(dá)式包含字段名,必需用括號(hào)將字段稱號(hào)括起來。號(hào)將字段稱號(hào)括起來。 5.5 5.5 建立交叉表查詢建立交叉表查詢 一種特殊類型的匯總查詢交叉表查詢。交叉表查詢生成的動(dòng)態(tài)集看起來像一個(gè)二維表格,在表格中生成匯總計(jì)算值。 【交叉表】行用于確定作為二維表格行標(biāo)題和列標(biāo)題的字段以及行列交叉匯總字段。按照性別分類,統(tǒng)計(jì)不同職稱的人數(shù)是多少?按照性別分類,統(tǒng)計(jì)不同職稱的人數(shù)是多少?交叉表反映每個(gè)學(xué)生各科成果?交叉表反映每個(gè)學(xué)生各科成果?交叉表查詢構(gòu)造交叉表查詢構(gòu)

16、造5.6 5.6 建立參數(shù)查詢建立參數(shù)查詢 在查詢?cè)O(shè)計(jì)視圖中先輸入一個(gè)參數(shù),然后當(dāng)查詢運(yùn)轉(zhuǎn)時(shí),再提示輸入挑選條件。 在【條件】行或【或】行的關(guān)系表達(dá)式中輸入一個(gè)放在方括號(hào)中的短語。 如:如: 請(qǐng)輸入您要查詢的學(xué)院稱號(hào):請(qǐng)輸入您要查詢的學(xué)院稱號(hào): between 輸入起始日期輸入起始日期 and 輸入終止日期輸入終止日期5.7 5.7 建立操作查詢建立操作查詢 操作查詢(Action Query)是建立在選擇查詢根底之上的查詢。動(dòng)作查詢可以在一個(gè)操作中更改許多記錄。 分為四種類型: 生成表查詢 追加查詢 刪除查詢 更新查詢一、建立更新查詢一、建立更新查詢 更新查詢是在指定的表中對(duì)挑選出來的記錄進(jìn)

17、展更新操作。更新查詢用在需求一次更新許多數(shù)據(jù)的操作中。 如:每個(gè)人的根本工資都上調(diào)10%; 更改一些錯(cuò)誤;將姓名為將姓名為“宋思思的學(xué)生姓名改為宋思思的學(xué)生姓名改為“宋宋絲絲絲絲二、建立生成表查詢二、建立生成表查詢 生成表查詢是把從指定的表或查詢中挑選出來的記錄集生成一個(gè)新表。這對(duì)于從假設(shè)干個(gè)表中獲取數(shù)據(jù)并需求將數(shù)據(jù)永久保管的義務(wù)是非常方便的。 需求留意的是:需求留意的是: 利用生成表查詢建立新表時(shí),新表中利用生成表查詢建立新表時(shí),新表中的字段從生成表查詢的源表中承繼字段的字段從生成表查詢的源表中承繼字段稱號(hào)、數(shù)據(jù)類型以及【字段大小】屬性稱號(hào)、數(shù)據(jù)類型以及【字段大小】屬性。 但是不承繼其它的字

18、段屬性以及表的但是不承繼其它的字段屬性以及表的主鍵。假設(shè)要定義主鍵或其它的字段屬主鍵。假設(shè)要定義主鍵或其它的字段屬性,要在表設(shè)計(jì)視圖中進(jìn)展。性,要在表設(shè)計(jì)視圖中進(jìn)展。 將將2019-2019年度第二學(xué)期年度第二學(xué)期“不及格的學(xué)不及格的學(xué)生相關(guān)內(nèi)容生成到一新表。生相關(guān)內(nèi)容生成到一新表。三、建立追加查詢?nèi)?、建立追加查?追加查詢是將從表或查詢中挑選出來的記錄添加到另一個(gè)表中去。 要被追加記錄的表必需是曾經(jīng)存在的表。這個(gè)表可以是當(dāng)前數(shù)據(jù)庫的,也可以是另外一個(gè)數(shù)據(jù)庫的。 四、建立刪除查詢四、建立刪除查詢 刪除查詢是在指定的表中刪除挑選出來的記錄。在一切動(dòng)作查詢中,刪除查詢是最危險(xiǎn)的。由于刪除查詢將永久

19、地和不可逆地從表中刪除記錄。 另外刪除查詢是刪除整條記錄,而不是指定字段中的數(shù)據(jù)。5.8 SQL5.8 SQL查詢查詢SQLSQL查詢是運(yùn)用查詢是運(yùn)用SQLSQL語句創(chuàng)建的查詢。語句創(chuàng)建的查詢。SQLSQL簡(jiǎn)介簡(jiǎn)介SQLSQL是構(gòu)造化查詢言語是構(gòu)造化查詢言語Structured Structured Query Query LanguageLanguage的縮寫,其功能包括數(shù)據(jù)的縮寫,其功能包括數(shù)據(jù)查詢、數(shù)查詢、數(shù)據(jù)支配、數(shù)據(jù)定義和數(shù)據(jù)控制四個(gè)部據(jù)支配、數(shù)據(jù)定義和數(shù)據(jù)控制四個(gè)部分。分。數(shù)據(jù)查詢語句:數(shù)據(jù)查詢命令是數(shù)據(jù)查詢語句:數(shù)據(jù)查詢命令是SELECT SELECT 數(shù)據(jù)定義語句數(shù)據(jù)定義語句D

20、ATA DEFINITION LANGUAGEDATA DEFINITION LANGUAGE,簡(jiǎn)稱簡(jiǎn)稱DDLDDL實(shí)現(xiàn)其數(shù)據(jù)定義功能,可對(duì)數(shù)據(jù)庫實(shí)現(xiàn)其數(shù)據(jù)定義功能,可對(duì)數(shù)據(jù)庫用戶、根本表、視圖、索引進(jìn)展定義和吊銷。用戶、根本表、視圖、索引進(jìn)展定義和吊銷。數(shù)據(jù)控制語句數(shù)據(jù)控制語句 (Data Control Language (Data Control Language,簡(jiǎn),簡(jiǎn)稱稱DCL)DCL)對(duì)數(shù)據(jù)庫進(jìn)展一致的控制管理。對(duì)數(shù)據(jù)庫進(jìn)展一致的控制管理。數(shù)據(jù)支配語句數(shù)據(jù)支配語句 Data Manipulation Data Manipulation Language Language ,DMLD

21、ML及其編譯程序,實(shí)現(xiàn)對(duì)數(shù)據(jù)及其編譯程序,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的根本操作,包括檢索、插入、修正、刪除庫的根本操作,包括檢索、插入、修正、刪除等。等。 在查詢?cè)O(shè)計(jì)視圖中創(chuàng)建查詢時(shí),在查詢?cè)O(shè)計(jì)視圖中創(chuàng)建查詢時(shí),Access 將在后臺(tái)構(gòu)造等效的將在后臺(tái)構(gòu)造等效的SQL語句。語句。Access中所用的查詢都可以以為是中所用的查詢都可以以為是SQL查查詢。詢。 在建立在建立ACCESS的查詢時(shí),并不是一的查詢時(shí),并不是一切切的查詢都可以在查詢?cè)O(shè)計(jì)視圖中進(jìn)展創(chuàng)的查詢都可以在查詢?cè)O(shè)計(jì)視圖中進(jìn)展創(chuàng)建,有的查詢功能只能經(jīng)過建,有的查詢功能只能經(jīng)過SQL語句來實(shí)語句來實(shí)現(xiàn)。現(xiàn)。一、運(yùn)用一、運(yùn)用SELECTSELECT語句

22、語句1 1、SQLSQL言語提供言語提供SELECTSELECT語句,經(jīng)過查詢操作可得到語句,經(jīng)過查詢操作可得到所需的信息。所需的信息。SELECTSELECT語句的普通格式為:語句的普通格式為:SELECT ALL / DISTINCT SELECT ALL / DISTINCT * */ /選擇列表選擇列表FROM FROM 表名表名 WHERE WHERE條件表達(dá)式條件表達(dá)式 GROUP BY GROUP BY HAVING HAVING ORDER BY ORDER BY ASC|DESC;2 ASC|DESC;SELECTSELECT語句的執(zhí)行過程語句的執(zhí)行過程 在何處編寫在何處編寫

23、SELECT語句?語句?按下按下“在設(shè)計(jì)視圖中創(chuàng)建查詢?cè)谠O(shè)計(jì)視圖中創(chuàng)建查詢選項(xiàng),在顯示表的窗口內(nèi)直選項(xiàng),在顯示表的窗口內(nèi)直接按接按“封鎖按鈕,此時(shí)就是封鎖按鈕,此時(shí)就是設(shè)計(jì)視圖的窗口。接著按下設(shè)計(jì)視圖的窗口。接著按下“視圖按鈕下的視圖按鈕下的“SQL視圖視圖,即進(jìn)入,即進(jìn)入SQL語句的編寫語句的編寫方式。方式。 例例1 1 查詢學(xué)生的學(xué)號(hào)、姓名和性別。查詢學(xué)生的學(xué)號(hào)、姓名和性別。SELECT ALL SELECT ALL 編號(hào)編號(hào), ,姓名姓名, ,性別性別 FROM FROM 學(xué)生;學(xué)生; 例例2 2 查詢學(xué)生的全部信息。查詢學(xué)生的全部信息。SELECT SELECT * * FROM FR

24、OM 學(xué)生;學(xué)生;例例3 3 查詢教師授課詳細(xì)情況。查詢教師授課詳細(xì)情況。SELECT SELECT 教師教師. .教師編號(hào)教師編號(hào), ,教師教師. .姓名姓名, ,教師授課教師授課. .課程編課程編 號(hào)號(hào), ,教師授課教師授課. .班級(jí)班級(jí)ID,ID,教師授課教師授課. .授課時(shí)間授課時(shí)間, ,教師授教師授課課. .授課地點(diǎn)授課地點(diǎn) FROM FROM 教師教師, ,教師授課教師授課WHERE WHERE 教師教師. .教師編號(hào)教師編號(hào)= =教師授課教師授課. .教師編號(hào)教師編號(hào); ;2、多重條件查詢、多重條件查詢當(dāng)要在表中找出滿足某些條件的當(dāng)要在表中找出滿足某些條件的行時(shí),那么需運(yùn)用行時(shí),

25、那么需運(yùn)用WHERE子句指定查詢條件。子句指定查詢條件。WHERE子句中,條件通常經(jīng)過子句中,條件通常經(jīng)過三部分來描畫:三部分來描畫:1列名;列名;2比較運(yùn)算符;比較運(yùn)算符;3列名、常數(shù)。列名、常數(shù)。 運(yùn)算符運(yùn)算符含義含義=, , =, =, != 比較大小比較大小多重條件多重條件AND,ORBETWEEN AND確定范圍確定范圍IN確定集合確定集合LIKE字符匹配字符匹配IS NULL空值空值例例4 4 查詢一切職稱是查詢一切職稱是“工程師的教師的編號(hào)和姓名。工程師的教師的編號(hào)和姓名。SELECT SELECT 教師編號(hào)教師編號(hào), ,姓名姓名 FROM FROM 教師教師 WHERE WHE

26、RE 職稱職稱= =“工工程師程師例例5 5 查詢查詢7070年出生的學(xué)生的根本情況。年出生的學(xué)生的根本情況。SELECT SELECT * * FROM FROM 學(xué)生學(xué)生 WHERE WHERE 出生年月出生年月=#1970-01-=#1970-12-31# =#1970-12-31# 或或SELECT SELECT * * FROM FROM 學(xué)生學(xué)生 WHERE year( WHERE year(出生年月出生年月)=1970)=1970例例6 6 查詢成果在查詢成果在6060分以下的學(xué)生姓名、班級(jí)、成果。分以下的學(xué)生姓名、班級(jí)、成果。從表:學(xué)生,學(xué)生選課從表:學(xué)生,學(xué)生選課SELECT

27、 SELECT 學(xué)生學(xué)生. .姓名姓名, , 學(xué)生學(xué)生. .班級(jí)班級(jí)ID, ID, 學(xué)生選課學(xué)生選課. .成果成果from from 學(xué)生學(xué)生, , 學(xué)生選課學(xué)生選課where where 學(xué)生學(xué)生. .學(xué)號(hào)學(xué)號(hào)= =學(xué)生選課學(xué)生選課. .學(xué)號(hào)學(xué)號(hào) and and 學(xué)生選課學(xué)生選課. .成果成果60;60;當(dāng)當(dāng)WHEREWHERE子句需求指定一個(gè)以上的查詢子句需求指定一個(gè)以上的查詢條件時(shí),那么需求運(yùn)用邏輯運(yùn)算符條件時(shí),那么需求運(yùn)用邏輯運(yùn)算符ANDAND、OROR和和NOTNOT將其連結(jié)成復(fù)合的邏輯表達(dá)式。將其連結(jié)成復(fù)合的邏輯表達(dá)式。其優(yōu)先級(jí)由高到低為:其優(yōu)先級(jí)由高到低為:NOTNOT、ANDA

28、ND、OROR,用戶可以運(yùn)用括號(hào)改動(dòng)優(yōu)先級(jí)。用戶可以運(yùn)用括號(hào)改動(dòng)優(yōu)先級(jí)。3 3、部分匹配查詢、部分匹配查詢當(dāng)不知道完全準(zhǔn)確的値時(shí),用戶當(dāng)不知道完全準(zhǔn)確的値時(shí),用戶還可以運(yùn)用還可以運(yùn)用LIKELIKE或或NOT LIKENOT LIKE進(jìn)進(jìn)展部分匹配查詢也稱模糊查展部分匹配查詢也稱模糊查詢。詢。LIKELIKE定義的普通格式為:定義的普通格式為: LIKE LIKE 屬性名必需為字符型,字符串常屬性名必需為字符型,字符串常量的字符可以包含如量的字符可以包含如下兩個(gè)特殊符號(hào):下兩個(gè)特殊符號(hào): * *:表示恣意長(zhǎng)度的字符串;:表示恣意長(zhǎng)度的字符串; ? ?:表示恣意單個(gè)字符。:表示恣意單個(gè)字符。 例

29、7 查詢一切姓張的教師的教師編號(hào)和姓名。SELECT 教師編號(hào),姓名 FROM 教師WHERE 姓名 LIKE “張* ;例8 查詢姓名中第二個(gè)漢字是“萬的教師編號(hào)和姓名。SELECT 教師編號(hào),姓名 FROM 教師WHERE 姓名 LIKE “?萬* ;4、常用庫函數(shù)及統(tǒng)計(jì)匯總查詢、常用庫函數(shù)及統(tǒng)計(jì)匯總查詢SQL提供了許多庫函數(shù),加強(qiáng)了根本提供了許多庫函數(shù),加強(qiáng)了根本檢索才干。檢索才干。常用的庫函數(shù),如表所示。常用的庫函數(shù),如表所示。函數(shù)稱號(hào)函數(shù)稱號(hào)功能功能AVG按列計(jì)算平均值按列計(jì)算平均值SUM按列計(jì)算值的總和按列計(jì)算值的總和MAX求一列中的最大值求一列中的最大值MIN求一列中的最小值求一

30、列中的最小值COUNT按列值計(jì)個(gè)數(shù)按列值計(jì)個(gè)數(shù)例例9 9 求學(xué)號(hào)為求學(xué)號(hào)為03120191510312019151學(xué)生的總分和平均分。學(xué)生的總分和平均分。SELECT SUM(SELECT SUM(成果成果) AS ) AS 總分總分, AVG(, AVG(成果成果) AS ) AS 平均分平均分FROM FROM 學(xué)生選課及成果學(xué)生選課及成果WHERE WHERE 學(xué)號(hào)學(xué)號(hào)= =“03120191510312019151 ;留意:留意:函數(shù)函數(shù)SUMSUM和和AVGAVG只能對(duì)數(shù)值型字段進(jìn)展計(jì)算。只能對(duì)數(shù)值型字段進(jìn)展計(jì)算。 例例10 10 求最高分求最高分 SELECT max( SELEC

31、T max(成果成果) )FROM FROM 學(xué)生選課及成果學(xué)生選課及成果WHERE WHERE 課程編號(hào)課程編號(hào)= =“51012104BK51012104BK ; ; 例例11 11 求學(xué)校中共有多少個(gè)學(xué)院求學(xué)校中共有多少個(gè)學(xué)院SELECT COUNT(SELECT COUNT(學(xué)院代碼學(xué)院代碼) AS ) AS 學(xué)院數(shù)學(xué)院數(shù)FROM FROM 學(xué)院學(xué)院 例例12 12 利用特殊函數(shù)利用特殊函數(shù)COUNT(COUNT(* *) )求學(xué)生求學(xué)生的總數(shù)的總數(shù)SELECT COUNT(SELECT COUNT(* *) FROM ) FROM 學(xué)生學(xué)生5、分組查詢、分組查詢GROUP BY子句可

32、以將查詢結(jié)果按屬子句可以將查詢結(jié)果按屬性列或?qū)傩粤薪M合在行的方向上進(jìn)性列或?qū)傩粤薪M合在行的方向上進(jìn)展分組,每組在屬性列或?qū)傩粤薪M展分組,每組在屬性列或?qū)傩粤薪M合上具有一樣的值。合上具有一樣的值。例例13 查詢各位教師的教師姓名及其任查詢各位教師的教師姓名及其任課的門數(shù)。課的門數(shù)。SELECT 教師編號(hào),教師編號(hào),COUNT(*) AS 授課門數(shù)授課門數(shù)FROM 教師授課教師授課GROUP BY 教師編號(hào)教師編號(hào) GROUP BY子句按教師編號(hào)的值分子句按教師編號(hào)的值分組,一切具有一樣教師編號(hào)的元組組,一切具有一樣教師編號(hào)的元組為一組,對(duì)每一組運(yùn)用函數(shù)為一組,對(duì)每一組運(yùn)用函數(shù)COUNT進(jìn)展計(jì)算,

33、統(tǒng)計(jì)出各位教師任課的進(jìn)展計(jì)算,統(tǒng)計(jì)出各位教師任課的門數(shù)。門數(shù)。 假設(shè)在分組后還要按照一定的條件進(jìn)展假設(shè)在分組后還要按照一定的條件進(jìn)展挑選,那么需運(yùn)用挑選,那么需運(yùn)用HAVINGHAVING子句。子句。 例例14 14 SELECT SELECT 教師編號(hào),教師編號(hào),COUNT(COUNT(* *) AS ) AS 授課門數(shù)授課門數(shù)FROM FROM 教師授課教師授課GROUP BY GROUP BY 教師編號(hào)教師編號(hào) HAVING COUNT(HAVING COUNT(* *)=2 )=2 當(dāng)在一個(gè)當(dāng)在一個(gè)SQL查詢中同時(shí)運(yùn)用查詢中同時(shí)運(yùn)用WHERE子句,子句,GROUP BY 子句和子句和H

34、AVING子句時(shí),其順序子句時(shí),其順序是是WHEREGROUP BY HAVING。WHERE與與HAVING子句的根本區(qū)別在于作用子句的根本區(qū)別在于作用對(duì)象不同。對(duì)象不同。WHERE子句作用于根本表或視圖,從中選擇子句作用于根本表或視圖,從中選擇滿足條件的元組;滿足條件的元組;HAVING子句作用于組,選擇滿足條件的組,子句作用于組,選擇滿足條件的組,必需用于必需用于GROUP BY子句之后,但子句之后,但GROUP BY子句可沒有子句可沒有HAVING子句。子句。6 6、查詢嵌套、查詢嵌套在在WHEREWHERE子句中包含一個(gè)形子句中包含一個(gè)形如如SELECT-FROM-WHERESELE

35、CT-FROM-WHERE的的查詢塊,此查詢塊稱為子查詢塊,此查詢塊稱為子查詢或嵌套查詢,包含子查詢或嵌套查詢,包含子查詢的語句稱為父查詢或查詢的語句稱為父查詢或外部查詢。外部查詢。嵌套查詢可以將一系列簡(jiǎn)嵌套查詢可以將一系列簡(jiǎn)單查詢構(gòu)成復(fù)雜查詢,加單查詢構(gòu)成復(fù)雜查詢,加強(qiáng)查詢才干。強(qiáng)查詢才干。二、二、SQLSQL特定查詢特定查詢某些某些 SQL 查詢,稱為查詢,稱為 SQL 特定特定查詢:傳送查詢、數(shù)據(jù)定義查詢查詢:傳送查詢、數(shù)據(jù)定義查詢、結(jié)合查詢、子查詢。、結(jié)合查詢、子查詢。結(jié)合查詢將兩個(gè)或更多個(gè)表或查詢結(jié)合查詢將兩個(gè)或更多個(gè)表或查詢中的字段合并到查詢結(jié)果的一個(gè)字中的字段合并到查詢結(jié)果的一個(gè)字段中。運(yùn)用結(jié)合查詢可以合并兩個(gè)段中。運(yùn)用結(jié)合查詢可以合并兩個(gè)表中的數(shù)據(jù)。表中的數(shù)據(jù)。SELECT 城市城市, 公司稱號(hào)公司稱號(hào) , 聯(lián)絡(luò)人聯(lián)絡(luò)人姓名姓名, 客戶客戶 AS 關(guān)系關(guān)系 FROM 客戶客戶UNION SELECT 城市城市, 公司稱號(hào)公司稱號(hào), 聯(lián)絡(luò)人姓名聯(lián)絡(luò)人姓名, 供應(yīng)商供應(yīng)商FROM 供應(yīng)商供應(yīng)商ORDER BY 城市城市, 公司稱號(hào)公司稱號(hào);

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論