Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 第4章數(shù)據(jù)查詢_第1頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 第4章數(shù)據(jù)查詢_第2頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 第4章數(shù)據(jù)查詢_第3頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 第4章數(shù)據(jù)查詢_第4頁
Access 2021數(shù)據(jù)庫應(yīng)用基礎(chǔ)教程(微課版)課件 第4章數(shù)據(jù)查詢_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第4章數(shù)據(jù)查詢主要內(nèi)容使用查詢設(shè)計(jì)視圖創(chuàng)建查詢

使用向?qū)?chuàng)建查詢 SQL語言簡介查詢概述其他查詢

4.1查詢概述 4.1.1查詢與表的區(qū)別

4.1.2查詢的功能4.1.3查詢的類型4.1.1查詢與表的區(qū)別知識點(diǎn):創(chuàng)建查詢后,只保存查詢的操作,只有在運(yùn)行查詢時才會從查詢數(shù)據(jù)源中抽取數(shù)據(jù),并創(chuàng)建它;只要關(guān)閉查詢,查詢的動態(tài)集就會自動消失。區(qū)別主要表現(xiàn)在以下幾個方面。表是存儲數(shù)據(jù)的數(shù)據(jù)庫對象,而查詢則是對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行檢索、統(tǒng)計(jì)、分析、查看和更改的一個非常重要的數(shù)據(jù)庫對象。數(shù)據(jù)表將數(shù)據(jù)進(jìn)行了分割,而查詢則是將不同表的數(shù)據(jù)進(jìn)行了組合,查詢僅僅是一個臨時表,當(dāng)關(guān)閉查詢的數(shù)據(jù)視圖時,保存的是查詢的結(jié)構(gòu)。查詢所涉及的是表、字段和篩選條件等,而不是記錄。表和查詢都是查詢的數(shù)據(jù)源,查詢是窗體和報表的數(shù)據(jù)源。建立多表查詢之前,一定要先建立數(shù)據(jù)表之間的關(guān)系。4.1.2查詢的功能使用查詢可以按照不同的方式查看、更改和分析數(shù)據(jù)。也可以用查詢作為窗體、報表和數(shù)據(jù)訪問頁的記錄源。查詢基本上可以滿足用戶以下要求:選擇所要查詢的基本表或查詢(一個或多個);選擇想要在結(jié)果集中見到的字段;使用準(zhǔn)則來限制結(jié)果集中所要出現(xiàn)的記錄;對結(jié)果集中記錄的排序次序進(jìn)行選定;對結(jié)果集中的記錄進(jìn)行統(tǒng)計(jì)(求和、總計(jì)等);將結(jié)果集匯集成一個新的基本表;將結(jié)果作為數(shù)據(jù)源創(chuàng)建窗體和報表;根據(jù)結(jié)果建立圖表,得到直觀的圖像信息;在結(jié)果集中進(jìn)行新的查詢;查找不符合指定條件的記錄;建立交叉表形式的結(jié)果集;在其他數(shù)據(jù)庫軟件包生成的基本表中進(jìn)行查詢;批量地想數(shù)據(jù)表中添加、刪除或修改數(shù)據(jù)。4.1.3查詢的類型

根據(jù)對數(shù)據(jù)源的操作方式以及查詢結(jié)果,Access2021提供的查詢可以分為5種類型,分別是:選擇查詢交叉表查詢參數(shù)查詢操作查詢SQL查詢

4.2SQL語言簡介4.2.1SQL概述4.2.2使用SELECT語句4.2.3高級查詢語句4.2.1SQL概述SQL語言包含以下4個部分。數(shù)據(jù)定義語言:包括CREATE、ALTER、DROP語句,主要體現(xiàn)在表的建立、修改和刪除操作上。數(shù)據(jù)查詢語言:包括SELECT語句,本節(jié)重點(diǎn)介紹的就是SELECT語句的用法。數(shù)據(jù)操縱語言:包括INSERT、UPDATE、DELETE語句,分別用于向表中添加若干行記錄、修改表中的數(shù)據(jù)和刪除表中的若干行數(shù)據(jù)。數(shù)據(jù)控制語言:包括COMMITWORK、ROLLBACKWORK語句。認(rèn)識SQL

SQL是一種用于處理多組事實(shí)和事實(shí)之間關(guān)系的計(jì)算機(jī)語言。SQL是英文StructuredQueryLanguage的簡稱,譯為結(jié)構(gòu)化查詢語言。市面上常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)都支持使用SQL語言,所以底層結(jié)構(gòu)完全的不同的數(shù)據(jù)庫系統(tǒng),可以使用相同的SQL語言作為數(shù)據(jù)輸入與管理的接口。SQL和許多計(jì)算機(jī)語言不同的是,即使對于初學(xué)者也不難閱讀和理解。

SQL語言的特點(diǎn)SQL語言的數(shù)據(jù)類型

SQL視圖1SQL語言的特點(diǎn)

SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言)是標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫語言。SQL語言的功能包括數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制4個部分。其特點(diǎn)如下:高度綜合高度非過程化交互式與嵌入式相結(jié)合簡潔易用

2SQL語言的數(shù)據(jù)類型

Access數(shù)據(jù)庫中的SQL數(shù)據(jù)類型主要包括13種。Access中的類型是由數(shù)據(jù)庫引擎以及與這些數(shù)據(jù)類型對應(yīng)的若干有效同義詞定義的。表4-2列出了SQL語言主要的數(shù)據(jù)類型。

4.2.2使用SELECT語句數(shù)據(jù)庫查詢是數(shù)據(jù)庫的核心操作。SQL提供了SELECT語句進(jìn)行數(shù)據(jù)庫的查詢,該語句具有靈活的使用方式和豐富的功能。其一般格式如下。SELECT[ALL|DISTINCT]<目標(biāo)列表表達(dá)式>[,<目標(biāo)列表表達(dá)式>]…FROM<表名或視圖名>[,<表名或視圖名>]…[WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY<列名2>[ASC|DESC]];4.2.2使用SELECT語句1.最簡單的SELECT語句2.消除重復(fù)行3.重命名輸出列4.使用TOP限定要返回的記錄數(shù)5.使用WHERE子句6.

ORDERBY子句1.最簡單的SELECT語句簡單的SELECT語句格式如下:SELECT<目標(biāo)表的列名或列表達(dá)式集合>FROM基本表或(和)視圖集合其中,<目標(biāo)表的列名或列表達(dá)式集合>中指定的各個列的先后順序可以和表中相應(yīng)列的順序不一致。在查詢時可以根據(jù)需要改變列的顯示順序。2.消除重復(fù)行兩個本來并不完全相同的元組,投影到指定的某些列后,可能變成相同的行了,這時可以使用DISTINCT關(guān)鍵字。例如,一個學(xué)校學(xué)生人數(shù)很多,難免會出現(xiàn)重名的情況,所以,以上的SQL語句執(zhí)行后可能會包含一些重復(fù)的行,如果想消除重復(fù)的行,可以通過DISTINCT關(guān)鍵字來實(shí)現(xiàn):

SELECTDISTINCTSnameFROMStudents;3.重命名輸出列在創(chuàng)建表時,為方便計(jì)算和查詢,一般將字段名稱定義為英文名。但是,當(dāng)需要將表顯示出來時,對于中國人來說,英文字段名稱就不如中文字段名稱直觀。SQL提供了AS關(guān)鍵字來對字段重新命名。例如,以下將輸出的Sname字段重新命名為“姓名”,將字段名稱Sgender重新命名為“性別”:SELECTSnameAS姓名,SgenderAS性別

FROMStudents4.使用TOP限定要返回的記錄數(shù)TOP關(guān)鍵字在SQL語言中用來限制返回結(jié)果集中的記錄條數(shù),其使用方法有如下兩種形式:(1)返回確定數(shù)目的記錄個數(shù),語法格式:

SELECTTOPn<列名表>FROM<表名>[查詢條件](2)返回結(jié)果集中指定百分比的記錄數(shù):SELECTTOPnPERCENT<列名表>FROM<表名>[查詢條件]5.使用WHERE子句查詢滿足指定條件的元組可以通過WHERE子句來實(shí)現(xiàn)。WHERE子句常用的查詢條件如表4-1所示。6.

ORDERBY子句用戶可以用ORDERBY子句對查詢結(jié)果按照一個或多個字段的升序或降序排列,默認(rèn)值為升序。例如,以下SQL語句將查詢結(jié)果按姓名升序排列:SELECTTno,Tname,TphoneFROMTeachersWHERETgender='女'ORDERBYTnameASC;4.2.3高級查詢語句1.使用合計(jì)函數(shù)2.

GROUPBY子句3.連接查詢4.子查詢5.聯(lián)合查詢1.使用合計(jì)函數(shù)為了進(jìn)一步方便用戶,增強(qiáng)檢索功能,SQL提供了許多合計(jì)函數(shù),也稱為聚集函數(shù)。主要的合計(jì)函數(shù)如表4-2所示。合計(jì)函數(shù)功能COUNT([DISTINCT|ALL]*)統(tǒng)計(jì)元組個數(shù)COUNT([DISTINCT|ALL]<列名>)統(tǒng)計(jì)一列值的個數(shù)SUM([DISTINCT|ALL]<列名>)計(jì)算一列值的總和(此列必須是數(shù)值型)AVG([DISTINCT|ALL]<列名>)計(jì)算一列值的平均值(此列必須是數(shù)值型)MAX([DISTINCT|ALL]<列名>)求一列值中的最大值MIN([DISTINCT|ALL]<列名>)求一列值中的最小值2.

GROUPBY子句GROUPBY子句將查詢結(jié)果按某一列或多列的值分組,相等的值為一組。查詢結(jié)果分組的目的是為了細(xì)化聚集函數(shù)的作用對象。如果未對查詢結(jié)果分組,聚集函數(shù)將作用于整個查詢結(jié)果。分組后聚集函數(shù)將作用于每一個組,即每一個組都有一個函數(shù)值。SQL語句將查詢每個系各有多少學(xué)生:SELECTSdeptId,COUNT(SdeptId)as學(xué)生人數(shù)FROMStudentsGROUPBYSdeptId;3.連接查詢?nèi)舨樵兩婕皟蓚€以上的表或查詢,即當(dāng)要查詢的數(shù)據(jù)來自多個表或查詢時,必須采用多數(shù)據(jù)源查詢方法,該類查詢方法也稱為連接查詢。連接查詢是關(guān)系數(shù)據(jù)庫最主要的查詢功能。連接查詢可以是兩個表的連接,也可以是兩個以上的表的連接,還可以是一個表自身的連接。4子查詢

在SQL語言中,當(dāng)一個查詢是另一個查詢的條件時,即在一個SELECT語句的WHERE子句中出現(xiàn)另一個SELECT語句時,這種查詢稱為嵌套查詢。通常把內(nèi)層的查詢語句稱為子查詢,外層查詢語句稱為父查詢。父查詢與子查詢之間用關(guān)系運(yùn)算符(>、<、=、>=、<=、<>)進(jìn)行連接,帶有關(guān)系運(yùn)算符的子查詢只能返回單個值,如果返回多個值可以使用ANY或ALL等關(guān)鍵字。5聯(lián)合查詢

聯(lián)合查詢可以將兩個或多個獨(dú)立查詢的結(jié)果組合在一起。使用UNION連接的兩個或多個SQL語句產(chǎn)生的查詢結(jié)果要有相同的字段數(shù)目,但是這些字段的大小或數(shù)據(jù)類型不必相同。另外,如果需要使用別名,則僅在第一個SELECT語句中使用別名,別名在其他語句中將被忽略。如果在查詢中有重復(fù)記錄即所選字段值完全一樣的記錄,則聯(lián)合查詢只顯示重復(fù)記錄中的第一條記錄;要想顯示所有的重復(fù)記錄,需要在UNION后加上關(guān)鍵字ALL,即寫成UNIONALL。4.3使用向?qū)?chuàng)建查詢 4.3.1簡單查詢4.3.2交叉表查詢4.3.3查找重復(fù)項(xiàng)查詢4.3.4查找不匹配項(xiàng)查詢4.3.1使用簡單查詢向?qū)?chuàng)建

借助【簡單查詢向?qū)А靠梢詮囊粋€表、多個表或已有查詢中選擇要顯示的字段,也可對數(shù)值型字段的值進(jìn)行簡單匯總計(jì)算。4.3.2使用查詢設(shè)計(jì)視圖創(chuàng)建

對于簡單的查詢,使用向?qū)П容^方便,但是對于有條件的查詢,則無法使用向?qū)韯?chuàng)建,而是需要在查詢設(shè)計(jì)視圖中創(chuàng)建,通過在查詢設(shè)計(jì)視圖中設(shè)置條件可以實(shí)現(xiàn)條件查詢,而查詢條件是通過輸入表達(dá)式來表示的。

4.3.3查找重復(fù)項(xiàng)查詢向?qū)?/p>

根據(jù)重復(fù)項(xiàng)查詢向?qū)?chuàng)建的查詢結(jié)果,可以確定在表中是否有重復(fù)的記錄,或確定記錄在表中是否共享相同的值。

4.3.4查找不匹配項(xiàng)查詢向?qū)?/p>

查找不匹配項(xiàng)查詢的作用是供用戶在一個表中找出另一個表中所沒有的相關(guān)記錄。在具有一對多關(guān)系的兩個數(shù)據(jù)表中,對于【一】方的表中的每一條記錄,在【多】方的表中可能有一條或多條甚至沒有記錄與之對應(yīng)。使用不匹配項(xiàng)查詢向?qū)В涂梢圆檎页瞿切┰凇径唷糠街袥]有對應(yīng)記錄的【一】方數(shù)據(jù)表中的記錄。

4.4使用查詢設(shè)計(jì)視圖創(chuàng)建查詢4.4.1查詢設(shè)計(jì)視圖4.4.2創(chuàng)建多表查詢4.4.3編輯查詢4.4.4設(shè)置查詢條件4.4.5參數(shù)查詢4.4.6聚合查詢4.4.7嵌套查詢4.4.1查詢設(shè)計(jì)視圖查詢一共有3種視圖:數(shù)據(jù)表視圖設(shè)計(jì)視圖SQL視圖1.查詢的視圖本節(jié)將要詳細(xì)介紹設(shè)計(jì)視圖,在學(xué)習(xí)SQL查詢時將介紹SQL視圖。切換查詢的不同視圖的方法與切換表視圖一樣,可以通過單擊功能區(qū)選項(xiàng)卡中的“視圖”按鈕來完成,如圖4-23所示。2.設(shè)計(jì)視圖查詢設(shè)計(jì)視圖是創(chuàng)建、編輯和修改查詢的基本工具。使用查詢設(shè)計(jì)視圖可以設(shè)計(jì)查詢,也可以對已經(jīng)生成的查詢進(jìn)行修改。單擊“創(chuàng)建”功能區(qū)選項(xiàng)卡的“查詢”組中的“查詢設(shè)計(jì)”按鈕,即可打開如圖4-24所示的查詢設(shè)計(jì)視圖。3.

“查詢工具|設(shè)計(jì)”功能區(qū)選項(xiàng)卡在查詢設(shè)計(jì)視圖中,可以打開上下文功能區(qū)選項(xiàng)卡“查詢工具|設(shè)計(jì)”,如圖4-25所示,該選項(xiàng)卡主要按鈕的功能分別如下所述。4.4.2創(chuàng)建多表查詢使用查詢向?qū)?chuàng)建的查詢一般都比較簡單,除了查找不匹配項(xiàng)和查詢設(shè)計(jì)兩個表以外,其他的幾個查詢都是從單個表獲取信息。但是,對于較復(fù)雜的一些數(shù)據(jù)庫應(yīng)用,通常需要查詢來自多個相關(guān)表中的信息。本節(jié)將介紹如何使用查詢設(shè)計(jì)來創(chuàng)建多表查詢。4.4.2創(chuàng)建多表交叉查詢

交叉表查詢通常以一個字段作為表的行標(biāo)題,以另一個字段的取值作為列標(biāo)題,在行和列的交叉點(diǎn)單元格處獲得數(shù)據(jù)的匯總信息,以達(dá)到數(shù)據(jù)統(tǒng)計(jì)的目的。交叉表查詢既可以通過交叉表查詢向?qū)韯?chuàng)建,也可以在設(shè)計(jì)視圖中創(chuàng)建。4.4.3編輯查詢

查詢創(chuàng)建完成后,將保存在數(shù)據(jù)庫中。運(yùn)行查詢后才能看到查詢結(jié)果。在【設(shè)計(jì)視圖】中打開要修改的查詢可以進(jìn)行修改操作。

4.4.3編輯查詢1.編輯查詢中的字段編輯字段主要包括添加字段、刪除字段、移動字段、隱藏字段、調(diào)整列的寬度和編輯字段的顯示格式。2.編輯查詢中的數(shù)據(jù)源在查詢設(shè)計(jì)視圖窗口的上半部分是表/查詢顯示區(qū),這里顯示了已經(jīng)添加并可以使用的表/查詢。如果還需要使用其他的表或查詢,可以使用“顯示表”對話框添加。類似地,如果在表/查詢顯示區(qū)中列出的表或査詢不再使用了,則可以將其從該查詢中刪除。4.4.4設(shè)置查詢條件查詢條件是指在創(chuàng)建查詢時,為了查詢所需要的記錄,通過對字段添加限制條件,使查詢結(jié)果中只包含滿足條件的數(shù)據(jù),與篩選數(shù)據(jù)記錄時使用的“條件”一樣。1.運(yùn)算符2.輸入單值字段條件3.用邏輯運(yùn)算符組合條件4.用In組合條件5.用Between組合條件6.用Like組合條件4.4.5參數(shù)查詢1.系統(tǒng)默認(rèn)的“文本”參數(shù)查詢在運(yùn)行參數(shù)查詢時,默認(rèn)情況下,參數(shù)文本框中輸入的參數(shù)類型都被系統(tǒng)認(rèn)為是“文本”。2.其他參數(shù)的查詢除了系統(tǒng)默認(rèn)的參數(shù)查詢之外,如果需要使用其他類型的參數(shù),可以打開“查詢參數(shù)”對話框,在其中可以定義其他的數(shù)據(jù)類型。打開“查詢參數(shù)”對話框的方法如下。4.4.6聚合查詢1.創(chuàng)建聚合查詢在查詢設(shè)計(jì)中,有一行為“總計(jì)”行,是系統(tǒng)提供的用于對查詢中的一組記錄或全部記錄進(jìn)行數(shù)據(jù)計(jì)算。2.聚合函數(shù)GroupBy:可將指定字段中的所有記錄聚合成唯一的組。合計(jì):計(jì)算指定字段或分組中所有記錄的合計(jì)值。平均值:計(jì)算指定字段或分組中所有記錄的平均值。計(jì)數(shù):對指定字段或分組中的條目數(shù)進(jìn)行計(jì)數(shù)。4.4.7嵌套查詢在查詢設(shè)計(jì)視圖中,將一個查詢作為另一個查詢的數(shù)據(jù)源以達(dá)到使用多個表創(chuàng)建查詢的效果,這樣的查詢稱為嵌套查詢。【例4-11】創(chuàng)建嵌套查詢,查詢指定姓名的教師信息。(1)啟動Access2021應(yīng)用程序,打開School.accdb數(shù)據(jù)庫。(2)使用查詢設(shè)計(jì)創(chuàng)建查詢,在“顯示表”對話框中,打開“查詢”選項(xiàng)卡,在“查詢”列表中選擇“Teachers查詢”選項(xiàng),(3)將字段*添加到查詢設(shè)計(jì)區(qū)中,表示該查詢返回表中的所有字段,4.5其他查詢4.5.1操作查詢4.5.2SQL查詢4.5.1操作查詢

操作查詢是在選擇查詢的基礎(chǔ)上創(chuàng)建的,可以對表中的記錄進(jìn)行追加、修改、刪除和更新。操作查詢包括生成表查詢、更新查詢、追加查詢和刪除查詢。生成表查詢追加查詢更新查詢刪除查詢1.生成表查詢

生成表查詢可以使查詢的運(yùn)行結(jié)果以表的形式存儲,生成一個新表,這樣就可以利用一個或多個表或已知的查詢再創(chuàng)建表,從而使數(shù)據(jù)庫中的表可以創(chuàng)建新表,實(shí)現(xiàn)數(shù)據(jù)資源的多次利用及重組數(shù)據(jù)集合。2.追加查詢

追加查詢從一個或多個表將一組記錄追加到一個或多個表的

溫馨提示

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

最新文檔

評論

0/150

提交評論