Access基礎(chǔ)與應(yīng)用教程PPT課件-第4章-查詢-_第1頁
Access基礎(chǔ)與應(yīng)用教程PPT課件-第4章-查詢-_第2頁
Access基礎(chǔ)與應(yīng)用教程PPT課件-第4章-查詢-_第3頁
Access基礎(chǔ)與應(yīng)用教程PPT課件-第4章-查詢-_第4頁
Access基礎(chǔ)與應(yīng)用教程PPT課件-第4章-查詢-_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第4章 查詢是Access數(shù)據(jù)庫的對象之一,使用查詢對象可以將查詢命令預(yù)先保存,在需要時只要運(yùn)行查詢對象即可自動執(zhí)行查詢中規(guī)定的查詢命令,從而大大方便用戶進(jìn)行查詢操作。查詢第4章 查詢本章主要內(nèi)容退出4.1 查詢概述4.2 創(chuàng)建選擇查詢4.3 查詢的運(yùn)行和修改4.4 查詢條件的設(shè)置4.5 設(shè)置查詢的計算4.6 交叉表查詢4.7 參數(shù)查詢4.8 操作查詢4.9 SQL查詢4.1 查詢概述 在 Access 數(shù)據(jù)庫中,表是存儲數(shù)據(jù)的最基本的數(shù)據(jù)庫對象,而查詢則是對表中的數(shù)據(jù)進(jìn)行檢索、統(tǒng)計、分析、查看和更改的又一個非常重要的數(shù)據(jù)庫對象。 一個查詢對象實際上是一個查詢命令,實質(zhì)上它是一個SQL 語句。

2、運(yùn)行一個查詢對象實質(zhì)上就是執(zhí)行該查詢中規(guī)定的SQL 命令。 簡單來說,表是將數(shù)據(jù)(根據(jù)規(guī)范化的要求)進(jìn)行了分割,而查詢則是從不同的表中抽取數(shù)據(jù)并組合成一個動態(tài)數(shù)據(jù)表。查詢可以從多個表中查找到滿足條件的記錄組成一個動態(tài)數(shù)據(jù)表,并以數(shù)據(jù)表視圖的方式顯示。 查詢結(jié)果僅僅是一個臨時的動態(tài)數(shù)據(jù)表,當(dāng)關(guān)閉查詢的數(shù)據(jù)表視圖時,保存的是查詢的結(jié)構(gòu),并不保存該查詢結(jié)果的動態(tài)數(shù)據(jù)表。 表和查詢都是查詢的數(shù)據(jù)源,表和查詢也是窗體、報表的數(shù)據(jù)源。 建立查詢之前,一定要先建立表與表之間的關(guān)系。 4.1.1 查詢的類型 在 Access 中,提供有如下五種類型的 查詢: 選擇查詢 參數(shù)查詢 交叉表查詢 操作查詢 SQL

3、查詢 1選擇查詢 選擇查詢是最常見的查詢類型,它從一個或多個表中檢索數(shù)據(jù),并且在“數(shù)據(jù)表視圖”中顯示結(jié)果。也可以使用選擇查詢來對記錄進(jìn)行分組,并且對記錄作合計、計數(shù)、平均值等計算。查詢結(jié)果僅僅是一個臨時的動態(tài)數(shù)據(jù)表。 例4-1 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫的“學(xué)生”表里,查找出1986年后(含1986)出生的女學(xué)生的姓名、性別和出生日期。使用查詢的“設(shè)計視圖”創(chuàng)建出該查詢,其設(shè)計視圖如圖4-1所示。當(dāng)運(yùn)行該查詢時,以“數(shù)據(jù)表視圖”方式顯示出該查詢的結(jié)果,如圖4-2所示。 圖4-2 查詢結(jié)果圖4-1 “設(shè)計視圖”2參數(shù)查詢 參數(shù)查詢是這樣一種查詢,它在運(yùn)行時先顯示“輸入?yún)?shù)值”對話框,提示用戶在該對

4、話框中輸入查詢條件的值,然后,根據(jù)用戶輸入條件去執(zhí)行查詢命令,檢索出滿足條件的記錄。 例4-2 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫的“修課成績”表里,根據(jù)臨時輸入的“學(xué)號”查找出該學(xué)生的各課程的成績。使用查詢的“設(shè)計視圖”創(chuàng)建出該查詢(該查詢名為“例4-2”),當(dāng)運(yùn)行查詢時,顯示出“輸入?yún)?shù)值”的對話框。3交叉表查詢 使用交叉表查詢可以計算并重新組織數(shù)據(jù)的結(jié)構(gòu),這樣可以更加方便地分析數(shù)據(jù)。交叉表查詢可以對記錄作合計、平均值、計數(shù)等計算,這種數(shù)據(jù)可分為兩組信息:一類在數(shù)據(jù)表左側(cè)排列,另一類在數(shù)據(jù)表的頂端。 例4-3 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫的“學(xué)生”表中,統(tǒng)計出各班男、女學(xué)生的人數(shù)。使用查詢的“設(shè)計視圖”

5、創(chuàng)建出該查詢,當(dāng)運(yùn)行查詢時,以“數(shù)據(jù)表視圖”方式顯示出該交叉表查詢的結(jié)果。4操作查詢 操作查詢是這樣一種查詢,使用這種查詢只需進(jìn)行一次操作就可對許多記錄進(jìn)行更改和移動。有如下四種操作查詢: 生成表查詢 追加查詢 更新查詢 刪除查詢。5SQL 查詢 SQL查詢是用戶使用 SQL 語句創(chuàng)建的查詢??梢杂媒Y(jié)構(gòu)化查詢語言 (SQL) 來查詢、更新和管理 Access 這樣的關(guān)系數(shù)據(jù)庫。在查詢的“設(shè)計視圖”中創(chuàng)建查詢時,Access 將在后臺構(gòu)造等效的 SQL 語句。 可以在“ SQL 視圖”中查看和編輯 SQL 語句。但是,在對 SQL 視圖中的查詢做更改之后,查詢可能無法以以前在“設(shè)計視圖”中所顯示

6、的方式進(jìn)行顯示。 有一些 SQL 查詢,稱為“SQL 特定查詢”,無法在 “設(shè)計視圖” 的設(shè)計網(wǎng)格中進(jìn)行創(chuàng)建,如傳遞查詢、數(shù)據(jù)定義查詢和聯(lián)合查詢,都必須直接在 “SQL 視圖” 中創(chuàng)建 SQL 語句。圖4-5 例4-1查詢的“SQL視圖”4.1.2 創(chuàng)建查詢的方法 在“創(chuàng)建”選項卡上的“查詢”組中有“查詢向?qū)А焙汀安樵冊O(shè)計”兩個按鈕,如圖4-6所示,可用于創(chuàng)建查詢。單擊“查詢向?qū)А卑粹o,則顯出“新建查詢”對話框。圖4-6“創(chuàng)建”選項卡上的“查詢”組圖4-7 “新建查詢”對話框中四種創(chuàng)建查詢向?qū)?.2 創(chuàng)建選擇查詢 選擇查詢的功能是從一個或多個表中檢索數(shù)據(jù),并且在“數(shù)據(jù)表視圖”中顯示結(jié)果。查詢結(jié)

7、果僅僅是一個臨時的動態(tài)數(shù)據(jù)表。4.2.1 使用向?qū)?chuàng)建查詢 Access提供了向?qū)Чδ芤詭椭脩舴奖憧焖賱?chuàng)建簡單的查詢對象。使用向?qū)?chuàng)建查詢對象的步驟如例4-4 和例4-5 所述。 單擊“創(chuàng)建”選項卡上的“查詢”組中的“查詢向?qū)А卑粹o,顯出“新建查詢”對話框。 例4-4 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,用“學(xué)生”表創(chuàng)建一個名為“例4-4學(xué)生高考總分查詢”的查詢。該查詢只要求顯示學(xué)號、姓名、性別和高考總分四個字段。 例4-5 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,用“學(xué)生”表創(chuàng)建一個名為:“例4-5男女學(xué)生平均高考總分查詢”的查詢。4.2.2 在設(shè)計視圖中創(chuàng)建查詢 單擊“創(chuàng)建”選項卡上的“查詢”組中的“查詢設(shè)

8、計”按鈕,打開查詢“設(shè)計視圖”。 查詢的“設(shè)計視圖”分為上、下兩部分,上半部分稱為“字段列表”區(qū),顯示所選定的數(shù)據(jù)源表或查詢(注意:查詢也可作為查詢的數(shù)據(jù)源)的所有字段。下半部分稱為“設(shè)計網(wǎng)格”區(qū),用于確定查詢結(jié)果動態(tài)集所擁有的字段、排序和檢索條件等。 在“設(shè)計網(wǎng)格”中需要設(shè)置如下內(nèi)容:(1)字段:設(shè)置查詢所涉及的字段。(2)表: 字段所屬的表。(3)排序:查詢的排序準(zhǔn)則(如升序或降序)。(4)顯示:當(dāng)復(fù)選框選中時,字段將在查詢結(jié)果中顯出,否則,在查詢結(jié)果中不顯出。(5)條件:設(shè)置檢索記錄的條件(也稱為準(zhǔn)則)。(6)或: 設(shè)置檢索記錄的條件(也稱為準(zhǔn)則)。在設(shè)計視圖中創(chuàng)建查詢(例4-6 ) 例

9、4-6 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,使用“設(shè)計視圖”創(chuàng)建一個名為“例4-6查詢高考總分750分以上的女生”的查詢。查詢要求是:對“學(xué)生”表,檢索高考總分750分以上(含750)的女學(xué)生的記錄,并要求按高考總分降序進(jìn)行排序,僅要求顯示學(xué)號、姓名、班級號、性別和高考總分五個字段。4.3 查詢的運(yùn)行和修改 運(yùn)行查詢實際上就是打開該查詢的“數(shù)據(jù)表視圖”,以表格形式顯出該查詢結(jié)果的動態(tài)集記錄數(shù)據(jù)。 修改查詢實際上就是打開該查詢的“設(shè)計視圖”,對查詢所涉及的字段及條件等進(jìn)行設(shè)計修改。4.3.1 運(yùn)行查詢的基本方法 運(yùn)行查詢的六種基本方法:(1)打開某查詢的“設(shè)計視圖”,單擊“查詢工具”下的“設(shè)計”選項卡的

10、“結(jié)果”組中的“運(yùn)行”按鈕。(2)打開某查詢的“設(shè)計視圖”,單擊“查詢工具”下的“設(shè)計”選項卡的“結(jié)果”組中的“視圖”(默認(rèn)是“數(shù)據(jù)表視圖”)按鈕。(3)打開某查詢的“設(shè)計視圖”,右擊該“設(shè)計視圖”中的空白處,彈出快捷菜單,單擊該快捷菜單中的“數(shù)據(jù)表視圖”。(4)雙擊“導(dǎo)航窗格”上的查詢對象列表中要運(yùn)行的查詢名稱。(5)右擊“導(dǎo)航窗格”上的查詢對象列表中要運(yùn)行的查詢名稱,彈出快捷菜單,單擊該快捷菜單中的“打開”。 此外還有其他的運(yùn)行查詢方法,如在“宏”中運(yùn)行查詢的方法。4.3.2 修改查詢設(shè)計 右擊“導(dǎo)航窗格”上查詢對象列表中的某個查詢,彈出快捷菜單,單擊該快捷菜單中的“設(shè)計視圖”,打開該查詢

11、的“設(shè)計視圖”,便可對該查詢的結(jié)構(gòu)設(shè)計進(jìn)行各種更改。 如果所需的數(shù)據(jù)不在查詢中,可以添加一個表或查詢,或者如果決定不需要某個表或查詢,也可以將其刪除。添加了所需的表或查詢后,就可以在“設(shè)計網(wǎng)格”中添加要使用的字段,在決定不需要這些字段時可以將其刪除。可對字段排序分別進(jìn)行排序設(shè)置。也可通過把鼠標(biāo)指針移到某字段“列選定器”的右邊界,使鼠標(biāo)指針變成雙箭頭時拖動鼠標(biāo)的方法來調(diào)整查詢的列寬等等。例4-7 (修改查詢設(shè)計 的例子) 例4-7 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,對已經(jīng)創(chuàng)建好的名為“例4-6查詢高考總分750分以上的女生”的查詢對象進(jìn)行“復(fù)制”操作、“粘貼”操作,產(chǎn)生出一個新的名為“例4-7查詢高考

12、總分750分以上的學(xué)生”查詢。然后對新建的“例4-7查詢高考總分750分以上的學(xué)生”查詢的設(shè)計按如下要求進(jìn)行修改,該查詢要求是:檢索高考總分750分以上(含750)的學(xué)生記錄,并要求按“性別”升序、“高考總分”降序?qū)Σ樵兘Y(jié)果的記錄進(jìn)行排序(即先按“性別”字段值升序排序,當(dāng)“性別”字段值相同時再按“高考總分”字段值降序排序),并要求顯示學(xué)號、姓名、班級名稱、性別和高考總分五個字段。提示:對于要求顯示“班級名稱”字段,故需要先在該查詢的“設(shè)計視圖”中添加“班級”表,然后,在“設(shè)計網(wǎng)格”區(qū),把原來的“學(xué)生”表的“班級號”字段更改為“班級”表的“班級名稱”字段。其他更改按查詢要求進(jìn)行相應(yīng)的設(shè)置。 例4

13、-7 (續(xù))修改前修改后4.4 查詢條件的設(shè)置 創(chuàng)建查詢時,通過對字段添加限制條件,使查詢結(jié)果中只包含滿足查詢條件的數(shù)據(jù)。4.4.1 表達(dá)式 在查詢的“設(shè)計視圖”中,若要對“設(shè)計網(wǎng)格”區(qū)中的某個字段指定條件,就可在該字段的“條件”單元格中直接輸入一個表達(dá)式。 表達(dá)式是運(yùn)算符、常數(shù)、函數(shù)和字段名稱等的任意組合。表達(dá)式可執(zhí)行計算,其計算結(jié)果為單個值。對于較復(fù)雜的表達(dá)式,當(dāng)光標(biāo)處于該字段的“條件”單元格時,單擊“查詢工具”下的“設(shè)計”選項卡中的“查詢設(shè)置”組上的“生成器”按鈕,打開表達(dá)式生成器,在表達(dá)式生成器中構(gòu)造表達(dá)式,如圖4-31所示。在輸入表達(dá)式時,除了漢字以外,其他所有字符必須是在英文輸入法

14、狀態(tài)下輸入。圖4-31 表達(dá)式生成器示例4.4.2 比較運(yùn)算符 對于比較運(yùn)算符來說,要比較的數(shù)據(jù)的數(shù)據(jù)類型必須匹配。也就是說,文本只能與文本比較,數(shù)字只能與數(shù)字比較,等等??梢允褂煤瘮?shù)臨時將數(shù)據(jù)轉(zhuǎn)換為其他數(shù)據(jù)類型,然后再作比較。比較運(yùn)算符的含義、示例等信息如表4-1所示。表4-1 比較運(yùn)算符 4.4.3 邏輯運(yùn)算符 使用下表中列出的標(biāo)準(zhǔn)邏輯運(yùn)算符,可以組合或修改搜索條件。邏輯運(yùn)算符的優(yōu)先級從高到低依次是Not、And、Or。邏輯運(yùn)算符的含義、示例等信息如表4-2所示。運(yùn)算符含義SQL 視圖窗口示例Not 條件的邏輯否 SELECT * FROM 學(xué)生 WHERE NOT (性別 = 女);An

15、d 必須同時滿足兩個條件 SELECT * FROM 學(xué)生 WHERE 性別 = 女 AND 班級號 = 3;Or 滿 足一個條件即可 SELECT 學(xué)號, 課程代碼, 成績 FROM 修課成績 WHERE 成績 90;4.4.4 特殊運(yùn)算符 運(yùn)算符含義設(shè)計網(wǎng)格區(qū)示例SQL 視圖窗口示例 IN測試某值是否出現(xiàn)在值的列表中?;驕y試某值是否出現(xiàn)在一個子查詢的結(jié)果集內(nèi)。 In(足球, 籃球) In (SELECT 學(xué)號 FROM 修課成績 WHERE 成績 60) SELECT * FROM 學(xué)生 WHERE 特長 In(足球, 籃球); SELECT 姓名 FROM 學(xué)生 WHERE 學(xué)號 In

16、(SELECT 學(xué)號 FROM 修課成績 WHERE 成績 =#1986-1-1# AND =18SELECT 學(xué)號, 姓名, 性別, 出生日期FROM 學(xué)生WHERE Year(Date( ) Year(出生日期)=18; Time( )返回當(dāng)前系統(tǒng)時間。 Hour(time)返回 0 和 23 之間的整數(shù)(表示一天中某個小時)。4.4.7 設(shè)置查詢的組合條件 在查詢的“設(shè)計視圖”中的“設(shè)計網(wǎng)格”區(qū),“條件”行、“或”條件行以及“或”行下邊緊接著的若干空白行的單元格,均可用來設(shè)置查詢條件的表達(dá)式。 在查詢的“設(shè)計網(wǎng)格”區(qū),用戶可以在多個字段的“條件”單元格(包括“條件”行的單元格和“或”條件

17、行的單元格等)中設(shè)置查詢條件的表達(dá)式。對于多個字段的“條件”單元格中的表達(dá)式,Access數(shù)據(jù)庫管理系統(tǒng)會自動使用 And 運(yùn)算符或者 Or 運(yùn)算符去組合這些不同單元格中的表達(dá)式,構(gòu)成一個組合條件,以滿足復(fù)雜查詢的需要。1用And 運(yùn)算符組合條件 在查詢的“設(shè)計網(wǎng)格”區(qū),如果僅在同一條件行的不同單元格中設(shè)置了條件的表達(dá)式,表示這些在不同單元格中設(shè)置的條件都必須要同時滿足的。 Access自動用 And 運(yùn)算符去組合這一條件行中的不同單元格中的條件表達(dá)式,構(gòu)成一個組合條件,表示要篩選滿足該條件行所有(設(shè)置了條件的)單元格的條件的記錄。例4-9 ( 用And 運(yùn)算符組合條件例子) 例4-9 查詢高

18、考總分750分以上(含750)的男學(xué)生的學(xué)號、姓名、性別和高考總分。用And 運(yùn)算符組合條件SQL視圖設(shè)計視圖2用Or 運(yùn)算符組合條件 在查詢的“設(shè)計視圖”的“設(shè)計網(wǎng)格”區(qū),如果在每一條件行中僅有一個字段的“條件”單元格(包括“條件”行的單元格和“或”條件行的單元格等)設(shè)置了查詢條件的表達(dá)式,那么,對于這些條件行來說,Access數(shù)據(jù)庫管理系統(tǒng)會自動使用(一個或多個) Or 運(yùn)算符去組合這些不同條件行的表達(dá)式,構(gòu)成一個組合條件,表示篩選只要滿足任一條件行的“條件”單元格條件的記錄。 注意,在查詢的“設(shè)計視圖”的“設(shè)計網(wǎng)格”區(qū),可以在任一字段的“條件”行單元格設(shè)置條件的表達(dá)式,也可以在任一字段的

19、“或”條件行單元格設(shè)置條件的表達(dá)式,還可以在任一字段的“或”行下邊緊接著的若干空白行的單元格設(shè)置條件的表達(dá)式。例4-10 ( 用 Or 運(yùn)算符組合條件例子 ) 例4-10 查詢高考總分690分以下以及780分以上(含780)的學(xué)生的學(xué)號、姓名、性別和高考總分。圖4-35 在同一個字段的不同條件行的條件單元格中設(shè)置查詢條件設(shè)計視圖用 Or 運(yùn)算符組合條件SQL視圖例4-11( 用 Or 運(yùn)算符組合條件例子 ) 例4-11 查詢高考總分750分以上(含750)的學(xué)生以及全部女學(xué)生的學(xué)號、姓名、性別和高考總分。圖4-36 在兩個不同字段的不同條件行(一字段一條件行)的條件單元格中設(shè)置查詢條件 設(shè)計視

20、圖用 Or 運(yùn)算符組合條件SQL視圖3用And 和Or 兩個運(yùn)算符組合條件 在查詢的“設(shè)計網(wǎng)格”區(qū),如果對于若干不同字段的不同條件行的“條件”單元格(包括“條件”行的單元格和“或”條件行的單元格),設(shè)置了查詢條件的表達(dá)式,Access數(shù)據(jù)庫管理系統(tǒng)會自動使用(一個或多個)And 運(yùn)算符和(一個或多個)Or 運(yùn)算符去組合這些不同字段的不同條件行的“條件”單元格的表達(dá)式,構(gòu)成一個組合條件,表示篩選只要滿足任何一條件行的所有“條件”單元格條件的記錄。例4-12 (用And 和Or 兩個運(yùn)算符組合條件) 例4-12 查詢高考總分690分以下的男學(xué)生以及780分以上(含780)的女學(xué)生的學(xué)號、姓名、性別

21、和高考總分。圖4-38 在兩個字段的兩條件行的條件單元格中設(shè)置查詢條件 設(shè)計視圖用 Or 運(yùn)算符組合條件用 And 運(yùn)算符組合條件用 And 運(yùn)算符組合條件SQL視圖4.5 設(shè)置查詢的計算 要在查詢中執(zhí)行計算,可以在查詢設(shè)計中使用“預(yù)定義計算”或“自定義計算”形式來對查詢中需要的計算進(jìn)行相應(yīng)的設(shè)置。 預(yù)定義計算是Access 通過聚合函數(shù)對查詢中的分組記錄或全部記錄進(jìn)行“總計”計算,比如求合計、平均值、計數(shù)、最小值、最大值、標(biāo)準(zhǔn)偏差或方差等。 計算中可用的聚合函數(shù)全都可以在查詢的“設(shè)計視圖”的“設(shè)計網(wǎng)格”區(qū)的“總計”行的任一單元格的下拉列表中選擇到。4.5.1 設(shè)置查詢的總計計算(例4-13

22、) 例4-13 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建一個查詢,統(tǒng)計全校學(xué)生人數(shù)。 分析:本查詢的運(yùn)行結(jié)果實際上就是要統(tǒng)計出“學(xué)生”表中的全部記錄個數(shù)。 在該查詢的“設(shè)計視圖” ,單擊“查詢工具”下的“設(shè)計”選項卡的“顯示/隱藏”組中的“匯總”按鈕,在“設(shè)計網(wǎng)格”區(qū)顯出“總計”行。 例4-13(續(xù))圖4-44 “姓名”的“字段屬性”對話框 圖4-45 字段改標(biāo)題后的查詢結(jié)果 圖4-43 字段改名前的查詢結(jié)果 修改該字段標(biāo)題 4.5.2 設(shè)置查詢的分組總計計算(例4-14 ) 例4-14 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建一個查詢,統(tǒng)計全校男學(xué)生的高考總分的平均分和女學(xué)生的高考總分的平均分。 分析:本查詢的

23、運(yùn)行結(jié)果實際上就是要分別統(tǒng)計出“學(xué)生”表中的“性別”字段的值為“男”的高考總分的平均分和“性別”字段的值為“女”的高考總分的平均分。實際上就是要把“學(xué)生”表中的全部記錄按“性別”字段的值進(jìn)行分組,將全部“性別”為“男”的學(xué)生記錄分為一組并統(tǒng)計出該組的高考總分的平均分,將全部“性別”為“女”的學(xué)生記錄分為一組并統(tǒng)計出該組的高考總分的平均分。 例4-14 (續(xù)) 圖4-47 查詢結(jié)果 圖4-46 “設(shè)計網(wǎng)格”區(qū)查詢條件設(shè)置 4.5.2 設(shè)置查詢的分組總計計算(續(xù))例4-15 例4-15 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建一個查詢,統(tǒng)計每一個學(xué)生已修的學(xué)分?jǐn)?shù)。對于每個學(xué)生來說,某門課程的成績大于等于60

24、分才能計算該門課程的學(xué)分(若不及格,就不計算該門課程的學(xué)分?jǐn)?shù))。要求在查詢結(jié)果中顯出“學(xué)號”、“姓名”和“學(xué)分”。 分析:“學(xué)生”表中有“學(xué)號”和“姓名”兩個字段,在“修課成績”表中才有“成績”字段,在“課程”表中才有“學(xué)分”字段,故在創(chuàng)建該查詢時要添加“學(xué)生”、“修課成績”和“課程”三個表。例4-15 (續(xù))運(yùn)行查詢結(jié)果設(shè)計視圖4.5.3 設(shè)置查詢的自定義計算 自定義計算是指使用一個或多個字段中的數(shù)據(jù)在每個記錄上執(zhí)行數(shù)值、日期或文本計算。 在“設(shè)計視圖”中,對于自定義計算,可直接在設(shè)計網(wǎng)格中創(chuàng)建新的計算字段。 創(chuàng)建計算字段的方法是:將表達(dá)式輸入到查詢設(shè)計網(wǎng)格中的空“字段”單元格中。4.5.3

25、 設(shè)置查詢的自定義計算(例4-16) 例4-16 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建一個查詢,計算每一個學(xué)生每一已修課程成績的績點數(shù)。對于每個學(xué)生來說,某一課程的成績大于等于60分才能計算該門課程成績的績點數(shù)(若不及格,就不計算該門課程成績的績點數(shù))。要求在查詢結(jié)果中顯出“學(xué)號”、“課程名稱”、“成績”和“績點”,并按學(xué)號、課程代碼排序??凕c的計算公式為:成績/10-5。 分析:在“修課成績”表中有“學(xué)號”字段、“課程代碼”字段和“成績”字段。在“課程”表中有“課程名稱”字段,在任何表中都沒有“績點”字段,故要添加一個計算字段,即在“設(shè)計網(wǎng)格”區(qū)的空白的“字段”單元格輸入: 績點:成績/10-5

26、另外,“課程代碼”字段不需顯示,在此例中添加進(jìn)來僅是為了排序用途。例4-16(續(xù))運(yùn)行查詢結(jié)果輸入績點:成績/10-5設(shè)置不顯示設(shè)計視圖4.6 交叉表查詢 使用交叉表查詢可以計算并重新組織數(shù)據(jù)的結(jié)構(gòu),這樣可以更加方便地分析數(shù)據(jù)。交叉表查詢可以按分類對記錄數(shù)據(jù)作合計、平均值、計數(shù)等計算,這種數(shù)據(jù)可分為兩組信息:一類在數(shù)據(jù)表左側(cè)排列,另一類在數(shù)據(jù)表的頂端。4.6.1 使用向?qū)?chuàng)建交叉表查詢(例4-17 )例4-17 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,對“學(xué)生”表創(chuàng)建的交叉表查詢,計算各班級的男、女學(xué)生的人數(shù)。該查詢的名稱為:例4-17 班級男女學(xué)生人數(shù)交叉表查詢。 單擊“創(chuàng)建”選項卡的“查詢”組上的“查

27、詢向?qū)А卑粹o,顯出“新建查詢”對話框,單擊“交叉表查詢向?qū)А?。圖4-54 選定行標(biāo)題 (班級號) 圖4-55 選定列標(biāo)題 (性別) 例4-17 (續(xù)) 在“請確定為每個列和行的交叉點計算出什么數(shù)字:”的“交叉表查詢向?qū)А睂υ捒蛑?,單擊選擇“函數(shù)”列表框中的 “Count” 。圖4-56 指定計數(shù)函數(shù)Count 圖4-58 查詢運(yùn)行結(jié)果 4.6.2 使用設(shè)計視圖創(chuàng)建交叉表查詢 例4-18 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,對“修課成績”表創(chuàng)建交叉表查詢,計算各學(xué)生各學(xué)年度的修課數(shù)。該查詢的名稱為:例4-18查詢學(xué)生各學(xué)年的修課數(shù)交叉表。 單擊“查詢工具”下的“設(shè)計”選項卡中的“查詢類型”組上的“交叉表

28、”按鈕,立即在該查詢的“設(shè)計網(wǎng)格”區(qū)添加上了“總計”行和“交叉表”行,如圖4-59所示。“字段”單元格下拉按鈕添加“總計”行和“交叉表”行4.6.2 使用設(shè)計視圖創(chuàng)建交叉表查詢(續(xù)例4-18 )選“學(xué)號”為行標(biāo)題選“學(xué)年度”為列標(biāo)題選“計數(shù)”選“值”運(yùn)行查詢結(jié)果4.7 參數(shù)查詢 參數(shù)查詢是這樣一種查詢,它在運(yùn)行時顯示“輸入?yún)?shù)值”的對話框,提示用戶輸入信息,用戶可在該對話框中輸入不同的條件參數(shù)值,即可檢索到滿足條件的記錄內(nèi)容。 可以設(shè)計參數(shù)查詢來提示輸入條件,檢索要滿足該條件值的記錄,例如,可設(shè)計參數(shù)查詢來提示輸入一個“班級號”等??梢栽O(shè)計多個參數(shù)查詢來提示更多的內(nèi)容,例如,設(shè)計兩個參數(shù)的查詢

29、來提示輸入兩個日期,當(dāng)運(yùn)行時,檢索出這兩個日期之間的所有記錄。4.7.1 在設(shè)計視圖中創(chuàng)建單個參數(shù)的查詢 例4-19 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個單個參數(shù)的查詢,根據(jù)提示輸入某一個“班級號”,檢索出該班級的成績不及格的“班級號”、“學(xué)號”、“姓名”、“課程名稱”和“成績”字段。該查詢的名稱為:例4-19按班級號查詢成績不及格的學(xué)生名單。 分析:“學(xué)生”表中有“班級號”、“學(xué)號”和“姓名”三個字段,在“修課成績”表中才有“成績”字段,在“課程”表中才有“課程名稱”字段,故在創(chuàng)建該查詢時一定要添加“學(xué)生”表、“修課成績”表和“課程”表等三個表。例4-19(續(xù))圖4-63 含單個參數(shù)的查詢的

30、“設(shè)計視圖”的設(shè)置在“班級號”字段的“條件”行單元格中輸入:請輸入要查詢的班級號 例4-19(續(xù))圖4-64 “輸入?yún)?shù)值”對話框 圖4-65 參數(shù)查詢結(jié)果 當(dāng)運(yùn)行該查詢時顯出:運(yùn)行查詢結(jié)果4.7.2 在設(shè)計視圖中創(chuàng)建多個參數(shù)的查詢 例4-20 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個含有兩個參數(shù)的查詢,提示輸入兩個日期,然后檢索在這兩個日期之間出生的所有學(xué)生的學(xué)號、姓名、性別、出生日期、班級名稱、課程名稱及成績。該查詢的名稱為:例4-20查詢兩個日期之間出生學(xué)生的成績。 提示:創(chuàng)建本查詢要添加“班級”表、“學(xué)生”表、“修課成績”表和“課程”表。例4-20 (續(xù))圖4-66 含兩個參數(shù)查詢的“設(shè)計

31、視圖”的設(shè)置 在“出生日期 ”字段的“條件”行單元格中輸入:Between 請輸入開始日期 And 請輸入終止日期 例4-20 (續(xù))圖4-67 第一個“輸入?yún)?shù)值”對話框 圖4-69 兩個日期參數(shù)的查詢結(jié)果 當(dāng)運(yùn)行該查詢時顯出:圖4-68 第二個“輸入?yún)?shù)值”對話框 運(yùn)行查詢結(jié)果4.8 操作查詢 操作查詢是僅在一個操作中就可以追加、更改或刪除許多記錄的查詢操作查詢。有如下四種類型: 生成表查詢 追加查詢 更新查詢 刪除查詢 4.8.1 生成表查詢 生成表查詢利用一個或多個表中的全部或部分?jǐn)?shù)據(jù)創(chuàng)建新表。 利用生成表查詢建立新表時,如果數(shù)據(jù)庫中已有同名的表,則新表將覆蓋該同名的表。 注意,利用生

32、成表查詢建立新表時,新表中的字段從生成表查詢的源表中繼承字段名稱、數(shù)據(jù)類型以及“字段大小”屬性。但是不繼承其它的字段屬性以及表的主鍵。例4-21( 生成表查詢例子) 例4-21 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個生成表查詢,將2003-2004學(xué)年度成績“不及格”的學(xué)生相關(guān)內(nèi)容(包括“學(xué)號”、“姓名”、“課程名稱”、“成績”、“學(xué)年度”、“學(xué)期”、“班級名稱”字段)生成到一新表。該新表名為“成績不及格的學(xué)生”。該查詢名為:例4-21成績不及格學(xué)生的生成表查詢。 提示:在創(chuàng)建本查詢時要添加“班級”表、“學(xué)生”表、“修課成績”表和“課程”表。例4-21 (續(xù) )單擊“查詢工具”下的“設(shè)計”選項卡

33、中的“查詢類型”組上的“生成表”按鈕,顯出“生成表”對話框。設(shè)計視圖“生成表”對話框例4-21(續(xù) ) 當(dāng)運(yùn)行“例4-21成績不及格學(xué)生的生成表查詢”時,顯出提示“確實要執(zhí)行這種類型的動作查詢嗎?”對話框 。 單擊上述對話框中的“是”按鈕,顯出提示“確實要用選中的記錄來創(chuàng)建新表嗎?”對話框。4.8.2 追加查詢 追加查詢是將一個或多個表中的一組記錄添加到另一個已存在的表的末尾。 要被追加記錄的表必須是已經(jīng)存在的表。這個表可以是當(dāng)前數(shù)據(jù)庫中的表,也可以是另外一個數(shù)據(jù)庫中的表。例4-22 (追加查詢 例子) 例4-22 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個追加查詢,將2004-2005學(xué)年度成績“

34、不及格”的學(xué)生相關(guān)內(nèi)容(包括“學(xué)號”、“姓名”、“課程名稱”、“成績”、“學(xué)年度”、“學(xué)期”、“班級名稱”字段)追加到“成績不及格的學(xué)生”中。該查詢名為:例4-22成績不及格學(xué)生的追加查詢。 提示:在創(chuàng)建本查詢時要添加“班級”表、“學(xué)生”表、“修課成績”表和“課程”表例4-22 (續(xù))單擊“查詢工具”下的“設(shè)計”選項卡中的“查詢類型”組上的“追加”按鈕,顯出“追加”對話框。設(shè)計視圖“追加”對話框例4-22(續(xù) ) 當(dāng)運(yùn)行“例4-22成績不及格學(xué)生的追加查詢”時,顯出提示“確實要執(zhí)行這種類型的動作查詢嗎?”對話框 單擊上述對話框中的“是”按鈕,顯出提示“確實要追加選中行嗎?”對話框。4.8.3

35、更新查詢 更新查詢可以對表中的部分記錄或全部記錄作更改。更新查詢用在一次更新一批數(shù)據(jù)的操作中非常方便。 例4-23(更新查詢 例子) 例4-23 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個更新查詢,將“修課成績”表中的“學(xué)期”字段值為“1”的所有記錄的“學(xué)期”字段值更改為“一”。該查詢名為:例4-23學(xué)期的更新查詢。 分析:“修課成績”表有“學(xué)期”字段,故在創(chuàng)建該更新查詢時要添加“修課成績”表。例4-23( 更新查詢例子 ) 單擊“查詢工具”下的“設(shè)計”選項卡中的“查詢類型”組上的“更新”命令,顯出“更新查詢”的“設(shè)計視圖”。添加了“更新到”行圖4-80 更新查詢的“設(shè)計視圖” 設(shè)計視圖例4-23

36、(續(xù) ) 當(dāng)運(yùn)行“例4-23對學(xué)期的更新查詢”時,顯出提示“確實要執(zhí)行這種類型的動作查詢嗎?”對話框 。 單擊上述對話框中的“是”按鈕,顯出提示“確實要更新這些記錄嗎?”對話框。4.8.4 刪除查詢 刪除查詢可以從一個或多個表中刪除一組記錄。使用刪除查詢,將刪除整個記錄,而不是只刪除記錄中所選的字段。 如果啟用級聯(lián)刪除,則可以用刪除查詢從單個表中、從一對一關(guān)系的多個表中,或一對多關(guān)系中的多個表刪除相關(guān)的記錄。例4-24 ( 刪除查詢 例子) 例4-24 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建一個刪除查詢,從“成績不及格的學(xué)生”表中將“學(xué)年度”字段值為 2004-2005 的所有記錄刪除。該查詢名為:

37、例4-24成績不及格學(xué)生的刪除查詢。例4-24 (續(xù)) 單擊“查詢工具”下的“設(shè)計”選項卡中的“查詢類型”組上的“刪除”按鈕,顯出“刪除查詢”的“設(shè)計視圖”。 添加了“刪除”行設(shè)計視圖例4-24(續(xù)) 當(dāng)運(yùn)行“例4-24成績不及格學(xué)生的刪除查詢”時,顯出提示“確實要執(zhí)行這種類型的動作查詢嗎?”對話框 。 單擊上述對話框中的“是”按鈕,顯出提示“確實要刪除選中的記錄嗎?”對話框。4.9 SQL查詢 SQL(Structure Query Language)的中文名稱為結(jié)構(gòu)化查詢語言。SQL是一種專門針對數(shù)據(jù)庫操作的計算機(jī)語言。SQL 查詢是使用 SQL 語句創(chuàng)建的查詢。 在 Access 數(shù)據(jù)庫

38、中,查詢對象本質(zhì)上是一個SQL語言編寫的命令。當(dāng)使用查詢的“設(shè)計視圖”用可視化的方式創(chuàng)建一個查詢對象后,系統(tǒng)便自動把它轉(zhuǎn)換為相應(yīng)的SQL語句保存起來。 運(yùn)行一個查詢對象實質(zhì)上就是執(zhí)行該查詢中指定的SQL 命令。 在查詢“設(shè)計視圖”中,為了能夠看到查詢對象相應(yīng)的SQL語句或直接編輯SQL語句,用戶可以從“設(shè)計視圖”切換到“SQL視圖”。在“設(shè)計”選項卡中的“結(jié)果”組上的“視圖”按鈕下方有一下拉按鈕,單擊該下拉按鈕,在彈出的下拉菜單中單擊“SQL視圖”命令,打開“SQL視圖”,在其中便可直接編輯SQL語句,保存結(jié)果后同樣可以得到一個查詢對象。SQL視圖 某些 SQL 查詢,稱為 SQL 特定查詢,

39、不能在查詢“設(shè)計視圖”的“設(shè)計網(wǎng)格”中創(chuàng)建。對于傳遞查詢、數(shù)據(jù)定義查詢和聯(lián)合查詢,必須直接在“SQL視圖”中創(chuàng)建 SQL 語句。對于子查詢,要在查詢“設(shè)計網(wǎng)格”的“字段”行或“條件”行中輸入 SQL 語句。 注意,在輸入 SQL 語句時,除了漢字以外,其他所有字符必須是在英文輸入法狀態(tài)下輸入的英文字符。例如,在SQL 語句中,象“.”、“”、“(”、“)”、“”、“”、“”、“”、“%”、“#” 、“*” 、“?”和“!”等字符必須是英文字符。4.9.1 SELECT語句 SELECT語句是對關(guān)系數(shù)據(jù)庫的表作選擇運(yùn)算的一個命令,同時也支持表的投影操作。它可返回指定表中滿足條件的記錄。1SELE

40、CT語句的一般格式 語法格式:SELECT ALL | DISTINCT * | AS 別名1, AS 別名2 , FROM , WHERE GROUP BY , HAVING ORDER BY ASC | DESC, ASC | DESC , ASC | DESC ; 功能:從FROM 子句所指定的表中返回一個滿足 WHERE 子句所指定的條件的記錄集,該記錄集中只包含SELECT語句中所指定的字段。 若要僅顯示頂上n個記錄,可用“TOP n”代替“ALL”,其中n為正整數(shù)。SELECT語句實例(例4-25 )2SELECT語句的簡單查詢實例 例4-25 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中使用SQL

41、視圖,創(chuàng)建一個名為“例4-25查詢學(xué)生全部信息”的查詢對象,查看“學(xué)生”表的所有記錄。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是: SELECT * FROM 學(xué)生; 或者鍵入SQL語句: SELECT ALL * FROM 學(xué)生;注意,上述這兩個SELECT 語句是等價的。 SELECT語句實例(例4-26 ) 例4-26 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中使用SQL視圖,創(chuàng)建一個名為“例4-26查詢學(xué)生部分信息”的查詢對象,查看“學(xué)生”表的所有學(xué)生的學(xué)號、姓名、性別和出生日期的信息。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是:SELECT 學(xué)號, 姓名, 性別, 出生日期 FROM 學(xué)

42、生;SELECT語句實例 (例4-27 ) 例4-27 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中使用SQL視圖,創(chuàng)建一個名為“例4-27查詢學(xué)生全部成績”的查詢對象,查看所有學(xué)生的學(xué)號、課程代碼、課程名稱和成績的信息,并按課程代碼升序、學(xué)號升序排序。查詢的運(yùn)行結(jié)果如圖4-87所示。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是: SELECT 修課成績.學(xué)號, 修課成績.課程代碼, 課程.課程名稱, 修課成績.成績 FROM 修課成績, 課程 WHERE 修課成績.課程代碼=課程.課程代碼 ORDER BY 修課成績.課程代碼 , 修課成績.學(xué)號 ; 分析:“修課成績”表中有“學(xué)號”字段、“課程代碼”字段

43、和“成績”字段,“課程”表中有“課程名稱”字段,故在創(chuàng)建該SQL查詢的SELECT 語句時,一定要在FROM子句中指定“修課成績”表和“課程”兩個表(如:FROM 修課成績, 課程)。SELECT語句實例 (例4-28 )3SELECT 語句中的條件查詢實例 例4-28 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中使用SQL視圖,創(chuàng)建一個名為“例4-28 查詢女學(xué)生的基本信息”的查詢對象,要求查找“學(xué)生”表中的所有女學(xué)生的學(xué)號、姓名、性別和出生日期的信息。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是: SELECT 學(xué)號, 姓名, 性別, 出生日期 FROM 學(xué)生 WHERE 性別=女;SELECT語句實例

44、 (例4-29 ) 例4-29 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中使用SQL視圖,創(chuàng)建一個名為“例4-29查詢1986年出生的男學(xué)生的基本信息”的查詢對象,要求查找“學(xué)生”表中的所有1986年出生的男學(xué)生的學(xué)號、姓名、性別和出生日期的信息。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是: SELECT 學(xué)號, 姓名, 性別, 出生日期 FROM 學(xué)生 WHERE 性別=男 AND 出生日期=#1986-01-01# AND 出生日期=#1986-12-31#;或者鍵入SQL語句: SELECT 學(xué)號, 姓名, 性別, 出生日期 FROM 學(xué)生 WHERE 性別=男 AND YEAR(出生日期)=19

45、86;或者鍵入SQL語句: SELECT 學(xué)號, 姓名, 性別, 出生日期 FROM 學(xué)生 WHERE 性別=男 AND 出生日期 BETWEEN #1986-01-01# AND #1986-12-31#;注意,本例的上述的三個SELECT 語句是等價的。SELECT語句實例 (例4-30 ) 例4-30 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中使用SQL視圖,創(chuàng)建一個名為“例4-30查詢成績不及格的學(xué)生”的查詢對象,查看有不及格成績的學(xué)生的學(xué)號、課程代碼、課程名稱和成績的信息, 并按課程代碼升序、成績降序排序。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是:SELECT 修課成績.學(xué)號, 修課成績.課

46、程代碼, 課程.課程名稱, 修課成績.成績FROM 修課成績, 課程WHERE 修課成績.課程代碼=課程.課程代碼 AND 修課成績.成績=60 GROUP BY 修課成績.學(xué)號 ORDER BY 修課成績.學(xué)號;SELECT語句實例 (例4-34 ) 例4-34 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中,使用SQL視圖,創(chuàng)建一個名為“例4-34統(tǒng)計每門課程的平均分、最高分和最低分”的查詢對象,查詢結(jié)果要按課程名稱升序排序。該查詢的運(yùn)行結(jié)果如圖4-90所示。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是: SELECT 課程.課程名稱, AVG(修課成績.成績) AS 平均分, MAX(修課成績.成績)

47、AS 最高分, MIN(修課成績.成績) AS 最低分 FROM 修課成績, 課程 WHERE 修課成績.課程代碼=課程.課程代碼 GROUP BY 課程.課程名稱 ORDER RY 課程.課程名稱;SELECT語句實例 (例4-35 )5SELECT 語句中使用 HAVING 子句實例 例4-35 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中,使用SQL視圖創(chuàng)建一個名為“例4-35查詢兩科以上成績不及格的學(xué)生”的查詢對象。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是:SELECT 學(xué)號, COUNT(*) AS 不及格的課程數(shù)FROM 修課成績WHERE 成績=2;4.9.2 INSERT語句 INSER

48、T語句是用于向表中添加記錄的語句,該語句有兩種基本的用法,一種是用于添加一個記錄,另一種是從其它表向目標(biāo)表添加一個或多個記錄。其語法格式如下。 語法格式1:添加單個記錄 INSERT INTO (字段1, 字段2, ) VALUES (值1, 值2, .); 語法格式2:添加多個記錄 INSERT INTO (字段1, 字段2, ) SELECT 源表.字段1, 字段2, FROM ;功能: 在數(shù)據(jù)庫表中添加記錄。INSERT語句實例 (例4-36 ) 例4-36 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中,使用SQL視圖創(chuàng)建一個名為“例4-36添加一個新記錄”的查詢對象。使用INSERT語句在數(shù)據(jù)庫“學(xué)生管

49、理系統(tǒng)”中的“學(xué)生”表中添加一個記錄。 添加記錄的內(nèi)容為: 03202038 , 梁惠芬, 3, 女, #1984-11-28#, True, 752, 舞蹈 。 在該查詢的“SQL視圖” ,鍵入下面的SQL語句: INSERT INTO 學(xué)生(學(xué)號, 姓名, 班級號, 性別, 出生日期, 優(yōu)干, 高考總分, 特長) VALUES (03202038, 梁惠芬, 3, 女, #1984-11-28#, True, 752, 舞蹈);INSERT語句實例 (例4-37 ) 例4-37 在數(shù)據(jù)庫“學(xué)生管理系統(tǒng)”中,假定有一個其結(jié)構(gòu)與“學(xué)生”表結(jié)構(gòu)完全相同的“臨時學(xué)生”表,在“臨時學(xué)生”表中已有3條

50、記錄(如圖4-94所示)。使用SQL視圖創(chuàng)建一個名為“例4-37往學(xué)生表添加一組新記錄”的查詢對象。使用INSERT語句將“臨時學(xué)生”表中的所有記錄添加到“學(xué)生”表中。運(yùn)行該查詢結(jié)果如圖4-95所示。 在該查詢的“SQL視圖” 中應(yīng)鍵入的SQL語句是:INSERT INTO 學(xué)生 SELECT * FROM 臨時學(xué)生;4.9.3 UPDATE語句 UPDATE語句用于修改更新數(shù)據(jù)表中記錄的內(nèi)容。語法格式: UPDATE SET WHERE ;功能: 對指定的表中滿足的記錄進(jìn)行修改。如果省略了WHERE子句,則對該指定表的全部記錄進(jìn)行修改。說明:(1)指定要修改的表。(2)“字段1=值1”表示將

51、的值修改為,涉及多個字段的修改時需要用逗號分隔各個字段修改部分。(3)用于指定要修改的記錄需要滿足的條件。4.9.3 UPDATE實例(例4-38 ) 例4-38 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,使用SQL視圖建立一個名為“例4-38修改學(xué)號為03101001學(xué)生的特長”的查詢,將“學(xué)生”表中學(xué)號為“03101001”的學(xué)生的特長改為“排球”。 在該查詢“SQL視圖” 中鍵入下面的SQL語句: UPDATE 學(xué)生 SET 特長= 排球 WHERE 學(xué)號= 03101001;4.9.4 DELETE語句 DELETE語句用于刪除數(shù)據(jù)表中的一個或多個記錄。它的語法格式如下: 語法格式:DELETE *

52、 FROM WHERE 功能:刪除指定表中滿足的所有記錄。如果省略了WHERE子句,則刪除該指定表的所有記錄。 說明: (1)指定要刪除記錄的表。 (2)指定要刪除的記錄需要滿足的條件。 DELETE語句實例(例4-39 ) 例4-39 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中建立一個名為“例4-39刪除一個記錄”的查詢,從“學(xué)生”表中刪除學(xué)號為“03202038”的記錄。 在該查詢“SQL視圖” 中鍵入下面的SQL語句: DELETE * FROM 學(xué)生 WHERE 學(xué)號=03202038;4.9.5 SQL特定查詢 對于數(shù)據(jù)定義查詢、傳遞查詢、聯(lián)合查詢,不能在設(shè)計網(wǎng)格中創(chuàng)建,必須直接在“SQL視圖”中創(chuàng)建 SQL 語句。1數(shù)據(jù)定義查詢 數(shù)據(jù)定義查詢可以創(chuàng)建、刪除或修改表,也可以在數(shù)據(jù)庫表中創(chuàng)建索引。(1)創(chuàng)建表 CREATE TABLE(例4-40 )(1)創(chuàng)建表 CREATE TABLE簡單的語法格式:CREATE TABLE ( , , ); 例4-40 在“學(xué)生管理系統(tǒng)”數(shù)據(jù)庫中,使用SQL視圖創(chuàng)建一個名為“例4-40創(chuàng)建勤工助學(xué)表”的查詢對象?!扒诠ぶ鷮W(xué)”表結(jié)構(gòu)如表4-6所示。 在該查詢的“SQL視圖”中應(yīng)鍵入的SQL語句是:CREATE TA

溫馨提示

  • 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

提交評論