《Access數(shù)據(jù)庫教程》課件第7章_第1頁
《Access數(shù)據(jù)庫教程》課件第7章_第2頁
《Access數(shù)據(jù)庫教程》課件第7章_第3頁
《Access數(shù)據(jù)庫教程》課件第7章_第4頁
《Access數(shù)據(jù)庫教程》課件第7章_第5頁
已閱讀5頁,還剩122頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7.1創(chuàng)建查詢

7.2實用查詢7.3操作查詢的應(yīng)用7.4SQL查詢的應(yīng)用

7.1.1查詢設(shè)計器

查詢設(shè)計器是創(chuàng)建和修改查詢的可視化工具??梢栽诓樵冊O(shè)計器中添加數(shù)據(jù)源,選擇查詢字段,輸入查詢準(zhǔn)則,選擇排序方式,設(shè)置查詢屬性,從而方便、直觀地完成查詢的創(chuàng)建。

1.查詢設(shè)計器及其打開方式

如果要使用查詢設(shè)計器新建一個查詢,則可在“數(shù)據(jù)庫”窗口中選擇“查詢”對象,然后單擊【新建】按鈕或直接執(zhí)行【插入】菜單中的【查詢】命令打開“新建查詢”對話框(如圖7-1所示),然后在出現(xiàn)的“新建查詢”對話框中選擇“設(shè)計視圖”,并單擊【確定】按鈕。7.1創(chuàng)建查詢?nèi)绻褂貌樵冊O(shè)計器修改已有的查詢,則可在“數(shù)據(jù)庫”窗口中選擇“查詢”對象,然后單擊【設(shè)計】按鈕。

設(shè)計視圖是一個設(shè)計查詢的窗口,包含創(chuàng)建查詢所需要的各個組件。用戶只需要在各個組件中設(shè)置一定的內(nèi)容就可以創(chuàng)建一個查詢。查詢設(shè)計器(如圖7-2所示)分為上、下兩部分,上部為表/查詢的字段列表,顯示添加到查詢中的數(shù)據(jù)表或查詢的字段列表;下部為設(shè)計網(wǎng)格,由一些字段列和已命名的行組成,其中已命名的行有7行,其作用如表7-1所示。字段列表和設(shè)計網(wǎng)格之間是可以調(diào)節(jié)的分隔線。查詢設(shè)計器的標(biāo)題欄用于顯示查詢的名稱和查詢類型。圖7-1“新建查詢”對話框圖7-2查詢設(shè)計器表7-1查詢設(shè)計網(wǎng)格中的內(nèi)容

2.“查詢設(shè)計”工具欄

打開查詢設(shè)計器后,窗口中將出現(xiàn)“查詢設(shè)計”工具欄,如圖7-3所示。其中,常用的工具按鈕及其功能如下:

(1)視圖:在設(shè)計視圖、數(shù)據(jù)表視圖和SQL視圖之間切換查詢的視圖方式。

(2)查詢類型:有選擇查詢、交叉表查詢、生成表查詢、刪除查詢、追加查詢和更新查詢等。

(3)運行:執(zhí)行查詢,生成查詢結(jié)果并以數(shù)據(jù)表的形式顯示出來。圖7-3“查詢設(shè)計”工具欄

(4)顯示表:打開“顯示表”對話框,列出當(dāng)前數(shù)據(jù)庫中的表和查詢,以便選擇查詢的數(shù)據(jù)源。

(5)總計:在查詢設(shè)計網(wǎng)格中增加“總計”行,用于各種統(tǒng)計計算,如求和、求平均值等。

(6)屬性:顯示光標(biāo)處的對象屬性。如果光標(biāo)在某一字段內(nèi),則顯示該字段的屬性;如果光標(biāo)在查詢設(shè)計器上半部的字段列表區(qū),則顯示字段列表屬性;如果光標(biāo)在查詢設(shè)計器的其他位置,則顯示查詢的屬性。7.1.2使用查詢設(shè)計器創(chuàng)建查詢

在查詢設(shè)計器中設(shè)計查詢,包括添加數(shù)據(jù)源、選擇查詢字段、輸入查詢準(zhǔn)則、設(shè)置查詢屬性、保存及運行查詢等幾個步驟。

(1)添加數(shù)據(jù)源。數(shù)據(jù)源可以是表,也可以是查詢,單擊工具欄中的【顯示表】按鈕,打開“顯示表”對話框,如圖7-4所示。在該對話框中如果要添加表,則單擊“表”選項卡,然后雙擊要添加的表;如果要添加查詢,則單擊“查詢”選項卡,然后雙擊要添加的查詢。圖7-4“顯示表”對話框

注意:如果在設(shè)計視圖中列出的表或查詢沒有用,則可以將其刪除。方法如下:

刪除表或查詢的操作與添加表或查詢的操作相似,首先打開要修改的查詢設(shè)計視圖,在設(shè)計視圖下選擇要刪除的表或查詢;然后執(zhí)行【編輯】→【刪除】菜單命令或按【Delete】鍵;最后單擊工具欄中的【保存】按鈕保存所進行的修改。刪除表或查詢后,屬于它們的字段也將從查詢設(shè)計網(wǎng)格中刪除。

(2)選擇查詢字段。在查詢設(shè)計器的“字段列表”區(qū)列出了可以添加到查詢設(shè)計網(wǎng)格的所有字段,如圖7-5所示。選擇查詢字段的方法有三種:一是將字段從“字段列表”區(qū)拖動到查詢設(shè)計網(wǎng)格的“字段”單元格中;二是雙擊“字段列表”中的字段;三是單擊查詢設(shè)計網(wǎng)格的“字段”單元格,然后單擊其右側(cè)的向下箭頭按鈕,從打開的下拉列表中選擇所需的字段。圖7-5查詢設(shè)計器

(3)輸入查詢準(zhǔn)則。可以在“準(zhǔn)則”單元格(“條件”單元格及“或”單元格)中對一個或多個字段輸入多個準(zhǔn)則。在多個“準(zhǔn)則”單元格中輸入表達式時,Access將使用And(邏輯與)或Or(邏輯或)運算符進行組合。運算規(guī)律為:同行And,異行Or。

提示:如果在準(zhǔn)則中輸入日期型數(shù)據(jù),則Access將自動用“#”包圍;如果輸入文本型數(shù)據(jù),則將自動用“"”包圍;如果在準(zhǔn)則中用到字段名,則字段名要用方括號括起來。

(4)設(shè)置查詢屬性??梢栽诓樵冊O(shè)計器中分別設(shè)置某一字段的屬性、字段列表的屬性或查詢的屬性。常用的屬性及其設(shè)置方法如下:

①顯示:如果某些字段僅僅是作為查詢的條件,而不需要在查詢結(jié)果中顯示,則可以將其設(shè)置為不顯示。設(shè)置方法是:清除該字段“顯示”單元格的復(fù)選框。

②排序:如果要求查詢結(jié)果按照某一字段排序,則可以單擊該字段的“排序”單元格,然后單擊其右側(cè)的向下箭頭按鈕,并從下拉列表中選擇“升序”或“降序”。③唯一值:在查詢中,不必顯示數(shù)據(jù)源的所有字段,因此查詢的結(jié)果可能包含重復(fù)記錄。例如,如果查詢的來源是“學(xué)生”表,在查詢設(shè)計網(wǎng)格中只添加了“系別編號”字段,則將得到重復(fù)記錄。為了避免在查詢結(jié)果中出現(xiàn)重復(fù)記錄,可以在除字段列表和查詢網(wǎng)格外的任意處單擊以選擇查詢,然后單擊【屬性】按鈕或執(zhí)行【視圖】菜單中的【屬性】命令打開“查詢屬性”對話框(見圖7-6),在其中將“唯一值”屬性設(shè)置為“是”即可。④格式與小數(shù)位數(shù):與設(shè)置數(shù)據(jù)表的字段顯示格式類似,可以設(shè)置查詢字段的打印方式和屏幕顯示格式。如果是數(shù)字型字段,則還可以設(shè)置字段的小數(shù)位數(shù)。其設(shè)置方法為:在字段內(nèi)單擊以選擇該字段,然后單擊【屬性】按鈕或執(zhí)行【視圖】→【屬性】命令打開“字段屬性”對話框(如圖7-7所示),在其中的“格式”和“小數(shù)位數(shù)”屬性框中輸入新的屬性值即可。圖7-6“查詢屬性”對話框

圖7-7“字段屬性”對話框提示:在查詢設(shè)計器中對屬性的設(shè)置不會改變數(shù)據(jù)表中該字段的屬性設(shè)置。

(5)保存及運行查詢。建立查詢后,可以運行查詢以生成并顯示查詢結(jié)果。如果查詢結(jié)果符合要求,則可以保存查詢以備以后使用。

要運行查詢,可單擊【運行】按鈕或執(zhí)行【查詢】→【運行】命令。

要保存查詢,可單擊【保存】按鈕或執(zhí)行【文件】→【保存】命令。7.1.3查詢設(shè)計器基本操作

1.編輯字段

1)添加字段

將查詢數(shù)據(jù)源中的字段拖動到查詢設(shè)計區(qū)的“字段”網(wǎng)格中,可以將該字段添加到指定網(wǎng)格中。雙擊查詢數(shù)據(jù)源中的字段,可以將該字段添加到查詢設(shè)計區(qū)的所有字段之后。先單擊查詢設(shè)計區(qū)的某個空白字段網(wǎng)格,再單擊其右邊的下拉按鈕,并從打開的列表中選擇一個字段,可以為該網(wǎng)格添加字段。

2)添加全部字段

將查詢數(shù)據(jù)源中字段列表上方的“*”添加到查詢設(shè)計區(qū)的“字段”網(wǎng)格中,即可添加全部字段。

3)刪除字段

先單擊查詢設(shè)計區(qū)“字段”網(wǎng)格上方的列選擇器,選擇需要刪除的字段,再按【Delete】鍵,或先將光標(biāo)移到要刪除的列上,再選擇【編輯】→【刪除列】命令,即可刪除字段。

4)移動字段的位置

先單擊查詢設(shè)計區(qū)“字段”網(wǎng)格上方的列選擇器,選擇需要移動位置的字段,再拖動該列選擇器到適當(dāng)位置松開鼠標(biāo)左鍵即可。

5)修改字段名

先單擊查詢設(shè)計區(qū)網(wǎng)格中需要修改的字段名,再單擊其右邊的下拉按鈕,并從打開的列表中擇一個字段,即可修改字段名。

6)設(shè)置在查詢結(jié)果中顯示標(biāo)題

先用鼠標(biāo)右鍵單擊需要顯示標(biāo)題的字段,并從打開的快捷菜單中選擇【屬性】命令,打開“字段屬性”對話框,在其中的“常規(guī)”選項卡中可以通過設(shè)置“標(biāo)題”來改變查詢結(jié)果中的顯示標(biāo)題。

7)使數(shù)據(jù)項不在查詢結(jié)果中顯示

單擊查詢設(shè)計區(qū)網(wǎng)格中“顯示”行的復(fù)選框,取消對該復(fù)選框的選擇,同列的數(shù)據(jù)項就不在查詢結(jié)果中顯示。

8)改變查詢設(shè)計網(wǎng)格的寬度

用鼠標(biāo)拖動查詢設(shè)計網(wǎng)格上面列選擇器的邊框線,可以改變左邊一列的寬度。如果先在列選擇器中拖動鼠標(biāo),選擇多列,再拖動選擇器的邊框線,則可以設(shè)置選定列的寬度相等。

9)添加查詢數(shù)據(jù)源的表或查詢

單擊“查詢設(shè)計”工具欄上的【顯示表】按鈕,或選擇【查詢】→【顯示表】命令,打開“顯示表”對話框,在“表”選項卡中選擇字段即可添加查詢數(shù)據(jù)源的表或查詢。

2.為查詢結(jié)果排序

在設(shè)計網(wǎng)格中,有時因查詢時沒有對數(shù)據(jù)進行整理,故查詢后得到的數(shù)據(jù)無規(guī)律,影響查看。此時可以使用以下步驟對查詢結(jié)果排序:

(1)在數(shù)據(jù)庫窗口的“查詢”對象中選擇要運行的查詢,然后單擊【設(shè)計】按鈕,屏幕上將出現(xiàn)查詢設(shè)計視圖。

(2)單擊查詢設(shè)計視圖下設(shè)計網(wǎng)格的“排序”單元格,并單擊單元格內(nèi)右側(cè)的向下箭頭按鈕,從下拉列表中選擇一種排序方式,如圖7-8所示。Access中有兩種排序方式:升序和降序。

(3)單擊工具欄中的【視圖】按鈕或工具欄中的【運行】按鈕切換到“數(shù)據(jù)表”視圖。這時可以看到查詢排序結(jié)果,如圖7-9所示。通過排序,查詢中的記錄就會排列整齊,顯示的記錄一目了然,用戶查看記錄就比較方便了。圖7-8選擇排序方式

圖7-9排序結(jié)果7.2.1多個表的查詢

對學(xué)生成績的報表常常需要從多個表中檢索出需要的數(shù)據(jù)。下面介紹多個表的查詢。

【例7-1】從“學(xué)生”表、“公共課成績”表、“課程編號”表中檢索出“學(xué)生”、“課程”、“成績”三個字段的信息。

操作步驟如下:

(1)啟動Access,打開“基礎(chǔ)篇-學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫。

(2)在數(shù)據(jù)庫窗口中,選擇“查詢”對象,再單擊【新建】按鈕,打開“新建查詢”對話框。7.2實用查詢

(3)選擇“設(shè)計視圖”選項,再單擊【確定】按鈕,打開查詢設(shè)計器和“顯示表”對話框。

(4)在“顯示表”對話框的“表”選項卡中依次將“學(xué)生”表、“公共課成績”表、“課程編號”表添加到查詢設(shè)計器,如圖7-10所示。

說明:由于三張表之間建立了關(guān)系,所以查詢設(shè)計器顯示了兩個一對多的關(guān)系連線。查詢多個表的數(shù)據(jù)時,通常先在這些表之間建立關(guān)系。如果用戶沒有建立表間關(guān)系,則Access默認(rèn)自動連接;如果既沒有建立表間關(guān)系,又關(guān)閉了Access的默認(rèn)自動連接功能,則查詢結(jié)果可能沒有意義。

(5)將查詢的字段添加到查詢設(shè)計區(qū)的網(wǎng)格中,如圖7-11所示。

(6)單擊“查詢設(shè)計”工具欄上的【保存】按鈕,或選擇【文件】→【另存為】命令,打開“另存為”對話框,以“查詢多表的數(shù)據(jù)”為查詢名保存查詢,并關(guān)閉查詢設(shè)計器。

(7)在數(shù)據(jù)庫窗口中,選擇“查詢多表的數(shù)據(jù)”,并單擊【打開】按鈕,運行查詢的結(jié)果將顯示三張表中指定字段的數(shù)據(jù),如圖7-12所示。圖7-10添加表圖7-11添加查詢字段圖7-12運行結(jié)果7.2.2參數(shù)查詢

用戶在查詢數(shù)據(jù)過程中,可以通過輸入指定參數(shù)來查詢與輸入?yún)?shù)相符合的記錄,這種查詢就是參數(shù)查詢。

【例7-2】使用參數(shù)查詢查找,輸入“學(xué)生”名,查找學(xué)生“籍貫”及“愛好”。

(1)打開“基礎(chǔ)篇-學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫,選擇“對象”中的“查詢”,單擊【新建】按鈕,在彈出的“新建查詢”對話框中選擇“設(shè)計視圖”,單擊【確定】按鈕,彈出“選擇查詢”對話框,單擊工具欄中的【顯示表】按鈕,彈出“顯示表”對話框,在“顯示表”對話框中選擇“學(xué)生”,單擊【添加】按鈕,如圖7-13所示。圖7-13選擇學(xué)生表圖7-14增加學(xué)生表

(2)在“選擇查詢”對話框的上方將增加學(xué)生表,如圖7-14所示。

(3)在“字段”行分別選擇“姓名”、“籍貫”、“愛好”,如圖7-15所示。

(4)在“姓名”字段的“條件”行中輸入:[姓名],如圖7-16所示。

(5)選擇【查詢】→【參數(shù)…】命令,如圖7-17所示。

(6)彈出“查詢參數(shù)”對話框,在“參數(shù)”中輸入“姓名”,在“數(shù)據(jù)類型”中選擇“文本”,如圖7-18所示,單擊【確定】按鈕。

圖7-15選擇字段

圖7-16設(shè)定條件圖7-17【參數(shù)】命令

圖7-18選擇“文本”

(7)單擊工具欄中的【保存】按鈕,彈出“另存為”對話框,輸入文件名“學(xué)生籍貫查詢”,單擊【確定】按鈕。

(8)單擊工具欄中的【運行】按鈕,彈出“輸入?yún)?shù)值”對話框,如圖7-19所示。在該對話框中輸入“趙新運”,彈出如圖7-20所示的運行結(jié)果。圖7-19“輸入?yún)?shù)值”對話框

圖7-20運行結(jié)果7.2.3在查詢中創(chuàng)建計算字段

計算字段是通過在查詢中創(chuàng)建新的字段來完成計算功能的。

【例7-3】將“英語專業(yè)課成績”表中的“學(xué)號”、“精讀”、“泛讀”、“寫作”四個字段的成績求和,通過“總計”顯示出來。具體操作步驟如下:

(1)在“數(shù)據(jù)庫”窗口中單擊“對象”列表中的“查詢”對象,選擇【新建】按鈕,在彈出的對話框中選擇“設(shè)計視圖”,單擊【確定】按鈕。

(2)通過“顯示表”對話框向“查詢設(shè)計器”中添加“英語專業(yè)課成績”表,向設(shè)計網(wǎng)格中添加“學(xué)號”、“精讀”、“泛讀”、“寫作”四個字段,如圖7-21所示。

(3)在圖7-21中,找到第一個空白列,在字段單元格中輸入表達式“總成績:[精讀]+[泛讀]+[寫作]”,如圖7-22所示。方括號表示引用的是字段。圖7-21添加字段

圖7-22輸入表達式

(4)單擊“工具欄”中的【保存】按鈕,在彈出的“另存為”對話框中輸入查詢文件名“計算查詢”,單擊【確定】按鈕。

(5)運行“計算查詢”,將出現(xiàn)如圖7-23所示的運行結(jié)果。圖7-23運行結(jié)果7.2.4匯總查詢

在實際應(yīng)用中,常常需要對記錄或字段進行匯總統(tǒng)計,Access2003提供了建立匯總查詢的方式。

【例7-4】匯總“英語專業(yè)課成績”表中“精讀”字段的成績,其操作步驟如下:

(1)在數(shù)據(jù)庫窗口中單擊“對象”列表中的“查詢”對象,單擊【新建】按鈕。

(2)在彈出的“新建查詢”對話框中,選擇“設(shè)計視圖”選項,單擊【確定】按鈕。

(3)在“顯示表”對話框中,選擇“查詢”選項卡,將“英語專業(yè)課成績”添加到“查詢”窗口中。

(4)將“精讀”字段拖到字段行中,如圖7-24所示。

(5)單擊工具欄中的【求和】按鈕,Access將顯示設(shè)計網(wǎng)格中的“總計”行,如圖7-25所示。

(6)單擊“總計”行與“精讀”列交叉的單元格下拉列表框,選擇“總計”函數(shù),即對“精讀”進行總計,如圖7-25所示。

(7)單擊工具欄中的【視圖】按鈕查看結(jié)果,如圖7-26所示。圖7-24顯示“總計”

圖7-25選擇“總計”函數(shù)

圖7-26運行結(jié)果7.3.1更新查詢

這種查詢可以對一個或多個表中的一組記錄做全局的更改。

【例7-5】將“公共課成績”表的成績字段增加“10”分。

(1)在“數(shù)據(jù)庫”窗口中選中并打開要更新記錄的查詢,單擊【設(shè)計器】按鈕,打開其設(shè)計視圖,如圖7-27所示。

(2)單擊工具欄上【查詢類型】按鈕旁的向下箭頭符號,調(diào)出“查詢類型”下拉列表,如圖7-28所示,然后單擊【更新查詢】按鈕,這時的查詢設(shè)計窗口如圖7-29所示。

(3)從字段列表中將要更新或指定條件的字段拖至查詢設(shè)計網(wǎng)格中。7.3操作查詢的應(yīng)用圖7-27打開設(shè)計視圖

圖7-28調(diào)出“更新查詢”圖7-29“更新查詢”對話框

(4)在要更新字段的“更新到”單元格中,鍵入用來更改這個字段的表達式或數(shù)值“[成績]+10”,如圖7-30所示。

若要查看將要更新的記錄列表,請單擊工具欄上的【視圖】按鈕,此列表將不顯示新值。若要返回查詢的設(shè)計視圖,請再單擊工具欄上的【視圖】按鈕,在設(shè)計視圖中可以進行所需的更改。

(5)單擊工具欄中的【運行】按鈕,彈出要求確認(rèn)更新有效的對話框,如圖7-31所示,單擊【是】按鈕,更新數(shù)據(jù)。

若要預(yù)覽更新的記錄,單擊工具欄中的【視圖】按鈕。若要返回查詢設(shè)計視圖,可再單擊工具欄中的【視圖】按鈕。圖7-30輸入更新表達式圖7-31運行對話框7.3.2生成表查詢

這種查詢的作用是將查詢的結(jié)果存為新表,并將查詢結(jié)果的記錄置于新表內(nèi)。

【例7-6】通過“教師”表創(chuàng)建一個新表“教師2”,包含“姓名”、“系別編號”、“學(xué)歷”、“職稱”四個字段。

(1)在數(shù)據(jù)庫窗口中打開要用于生成新表的查詢,用本章前面介紹的方法打開其設(shè)計視圖,如圖7-32所示。圖7-32打開查詢設(shè)計器(2)單擊工具欄上【查詢類型】按鈕旁的向下箭頭符號,調(diào)出“查詢類型”下拉列表,然后單擊【生成表查詢…】項,如圖7-33所示,調(diào)出“生成表”對話框,如圖7-34所示。

(3)在“表名稱”文本框中,輸入所要創(chuàng)建或替換的表的名稱“教師2”,并選擇表要存放的數(shù)據(jù)庫。圖7-33調(diào)出【生成表查詢…】菜單圖7-34“生成表”對話框●如果表位于當(dāng)前打開的數(shù)據(jù)庫中,則單擊【當(dāng)前數(shù)據(jù)庫】單選按鈕,單擊“表名稱”下拉列表框的向下箭頭,選擇要追加記錄的表。

●如果表不在當(dāng)前打開的數(shù)據(jù)庫中,則單擊【另一數(shù)據(jù)庫】單選按鈕,這時“文件名”文本框為有效狀態(tài),鍵入存儲該表的數(shù)據(jù)庫的路徑,或單擊“瀏覽”定位到該數(shù)據(jù)庫。

(4)單擊生成表對話框中的【確定】按鈕。

(5)從字段列表中將要包含在新表中的字段拖拽到查詢設(shè)計網(wǎng)格,如圖7-35所示。如果需要,可以在已拖到網(wǎng)格的字段的“條件”單元格中鍵入條件。圖7-35添加字段

(6)單擊工具欄上的【運行】按鈕,彈出要求確認(rèn)向新表中粘貼數(shù)據(jù)的對話框,如圖7-36所示,單擊【是】按鈕,生成新表。

在數(shù)據(jù)庫窗口中單擊“表”對象,可以看到新表已經(jīng)生成,如圖7-37所示。生成的新表如圖7-38所示。圖7-36運行圖7-37生成“教師2”表圖7-38生成的新表7.3.3追加查詢

追加查詢用來將一個或多個表中的一組記錄添加到一個或多個表的末尾。例如,假設(shè)用戶獲得了一些新的客戶以及包含這些客戶信息的數(shù)據(jù)庫,要避免在自己的數(shù)據(jù)庫中鍵入這些信息,最好將其追加到“客戶”表中,當(dāng)然也可以用生成表查詢創(chuàng)建新表,再用追加查詢增加數(shù)據(jù)。

【例7-7】在“基礎(chǔ)篇-學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建一個文件名為“學(xué)生2”的空數(shù)據(jù)表,如圖7-39所示。創(chuàng)建一個追加查詢,將“學(xué)生”表中的數(shù)據(jù)追加到“學(xué)生2”表中。圖7-39“學(xué)生2”表

(1)在數(shù)據(jù)庫窗口選擇“對象”中的“查詢”,單擊【新建】按鈕,彈出“新建查詢”對話框,選中“設(shè)計視圖”,單擊【確定】按鈕。

(2)通過“顯示表”對話框中的“表”選項卡將“學(xué)生”表添加到查詢設(shè)計器中,如圖7-40所示。將“學(xué)號”、“姓名”、“性別”、“系別編號”、“籍貫”、“愛好”、“照片”依次拖動到設(shè)計網(wǎng)格中,如圖7-41所示。圖7-40選擇表

圖7-41選擇字段

(3)單擊工具欄中查詢類型按鈕右邊的向下箭頭符號,調(diào)出“查詢類型”下拉列表,然后單擊【追加查詢…】按鈕,如圖7-42所示,調(diào)出“追加”對話框,如圖7-43所示。

(4)在“表名稱”文本框中輸入要追加記錄的表的名稱,或單擊“表名稱”文本框右側(cè)的向下箭頭符號,調(diào)出其下拉列表,從中選擇所需要的表,這里選“學(xué)生2”表。

(5)選擇表要存放的數(shù)據(jù)庫,此處選擇“當(dāng)前數(shù)據(jù)庫”。

(6)單擊【確定】按鈕。

(7)單擊工具欄上的【運行】按鈕,彈出要求確認(rèn)的對話框,如圖7-44所示,單擊【是】按鈕,向“學(xué)生2”表中追加查詢的結(jié)果,如圖7-45所示。圖7-42【追加查詢…】按鈕

圖7-43“追加”對話框圖7-44確認(rèn)對話框圖7-45追加查詢的結(jié)果7.3.4刪除查詢

這種查詢用來從一個或多個表中刪除一組記錄。例如,可以使用刪除查詢來刪除不再生產(chǎn)或沒有訂單的產(chǎn)品。使用刪除查詢,通常會刪除整個記錄,而不只是刪除記錄中所選擇的字段。

刪除查詢根據(jù)其所在的表及表之間的關(guān)系可以簡單地劃分為3種類型:刪除單個表或一對一關(guān)系表中的記錄,使用只包含一對多關(guān)系中“-”端的表的查詢來刪除記錄,使用一對多關(guān)系中兩端的表的查詢來刪除記錄。

【例7-8】刪除“學(xué)生2”表中“籍貫”是“河北”的學(xué)生記錄。

(1)在“數(shù)據(jù)庫”窗口選擇“對象”中的“查詢”,單擊【新建】按鈕,彈出“新建查詢”對話框,選中“設(shè)計視圖”,單擊【確定】按鈕。

(2)通過“顯示表”對話框中的“表”選項卡將“學(xué)生2”表添加到查詢設(shè)計器中,如圖7-46所示,將“籍貫”拖動到設(shè)計網(wǎng)格中,如圖7-47所示。圖7-46添加“學(xué)生2”表

圖7-47將“籍貫”拖動到設(shè)計網(wǎng)格中

(3)單擊工具欄上查詢類型按鈕旁的向下箭頭符號,調(diào)出“查詢類型”下拉列表,然后單擊【刪除查詢】命令。

(4)在其“條件”單元格中鍵入條件“河北”。

●?From將顯示在這些字段下的“刪除”單元格中,Where顯示在這些字段下的“刪除”單元格中。

●若要預(yù)覽待刪除的記錄,則可單擊工具欄上的【視圖】按鈕。若要返回查詢設(shè)計視圖,則可再次單擊工具欄上的【視圖】按鈕。

(5)單擊工具欄上的【運行】按鈕,彈出要求確認(rèn)刪除有效的對話框,單擊【是】按鈕,刪除記錄,如圖7-48所示。圖7-48刪除查詢的結(jié)果注意:使用刪除查詢刪除記錄之后,將無法撤消此操作。因此,在運行查詢之前,應(yīng)該先預(yù)覽即將刪除的查詢所涉及的數(shù)據(jù)。預(yù)覽數(shù)據(jù)可以單擊工具欄上的【視圖】按鈕,然后在數(shù)據(jù)表視圖中查看查詢。要用一對多關(guān)系中的“-”端的表來刪除記錄,可以在一對多關(guān)系中利用“-”端上的表執(zhí)行一個刪除查詢,讓Access2003從多表端的表中刪除相關(guān)的記錄,但是使用這種方法的前提是必須使表間關(guān)系具有刪除特性。7.4.1SQL查詢語句

SQL語言具有4個功能:

(1)數(shù)據(jù)查詢(SELECT語句)。

(2)數(shù)據(jù)操縱(INSERT、UPDATE、DELETE語句)。

(3)數(shù)據(jù)定義(CREATE、DROP等語句)。

(4)數(shù)據(jù)控制(COMMIT、ROLLBACK等語句)。7.4SQL查詢的應(yīng)用

1.?CREATE命令

CREATE命令用來創(chuàng)建表、視圖或索引,其命令格式如下:

CreateTable<表名>(<列名1><數(shù)據(jù)類型>[列完整性約束條件],

<列名2><數(shù)據(jù)類型>[列完整性約束條件],

…)[表完整性約束條件];

【例7-9】創(chuàng)建一個教師信息表,包括:編號、姓名、職稱、出生日期、簡歷等字段。其中,編號字段為主索引字段(不能為空,且值唯一)。

CreateTable教師信息(編號char(9)notnullunique,姓名char(9),職稱char(10),出生日期date,簡歷memo);

2.?DROP命令

DROP命令用來刪除表、視圖或索引,其命令格式如下:

DropTable<表名>;

DropIndex<索引名>;

DropView<視圖名>;

【例7-9】刪除教師信息表。

DropTable教師信息;

3.?SELECT命令

利用SELECT命令可以構(gòu)造數(shù)據(jù)查詢語句,其語法結(jié)構(gòu)如下:

Select[All|Distinct]<目標(biāo)列名1>,<目標(biāo)列名2>,…From<表名1>,<表名2>

[Where<條件表達式>]

[GroupBy<分組列名>[Having<條件表達式>]

[OrderBy<排序列名>[Asc|Desc]]語句中各關(guān)鍵詞的含義如下:

(1)?All(默認(rèn)):返回全部記錄。

(2)?Distinct:略去選定字段中重復(fù)值的記錄。

(3)?From:指明字段的來源,即數(shù)據(jù)源表或查詢。

(4)?Where:定義查詢條件。

(5)?GroupBy:指明分組字段。

(6)?Having:指明分組條件。

(7)?OrderBy:指明排序字段。

(8)?Asc|Desc:排序方式,升序或降序。

【例7-10】從學(xué)生成績表中查詢出英語061班全體學(xué)生的記錄,結(jié)果按照高數(shù)成績的升序排序。

SelectAllxh,xm,bj,gscj,zzcj,yycj,jscjFrom學(xué)生成績

Wherebj=“英語061”O(jiān)rderBygscjAsc;

如果本例的條件改為“查詢出英語061班中高數(shù)成績75分以上全體學(xué)生的記錄”,兩個條件并列,則語句應(yīng)為:

SelectAllxh,xm,bj,gscj,zzcj,yycj,jscjFrom學(xué)生成績Wherebj=“

英語061"andgscj>=75OrderBygscjAsc;如果本例的條件改為“查詢出英語061班中全體學(xué)生的記錄,顯示出他們的學(xué)號、姓名、班級和入學(xué)成績”,則語句應(yīng)為:

SelectAll學(xué)生成績.xm,學(xué)生成績.bj,學(xué)生基本信息.rxcjFrom學(xué)生成績,學(xué)生

基本信息Where學(xué)生成績.xh=學(xué)生基本信息.xhandbj="英語061"OrderBygscjAsc;

4.?INSERT命令

通過該命令可以向數(shù)據(jù)表中插入新記錄。

【例7-11】向公共選修課表中插入一條新記錄。

InsertInto公共選修課Values(“2012”,“中國武術(shù)”,“4”);

5.?UPDATE命令

通過該命令可以修改數(shù)據(jù)表中的數(shù)據(jù)。

【例7-12】修改公共選修課表中的數(shù)據(jù),將課程“中國武術(shù)”改為“中國散打武術(shù)”。

UpdateSetkc="中國散打武術(shù)"Wherekc="中國武術(shù)"

6.?GRANT命令

通過該命令可以將指定操作權(quán)限授予指定的用戶。

【例7-13】把對公共選修課表的查詢權(quán)限授予所有用戶。

GrantSelectOnTable公共選修課ToPublic;

7.?REMOVE命令

通過該命令可以收回授予用戶的權(quán)限。

【例7-14】收回對公共選修課表的所有查詢權(quán)限。

RemoveSelectOnTable公共選修課FromPublic;7.4.2子查詢

使用子查詢可以定義字段或字段的條件。操作步驟如下:

(1)新建一個查詢,將所需的字段添加到設(shè)計視圖的設(shè)計網(wǎng)格中。

(2)如果要用子查詢來定義字段的條件,則在要設(shè)置條件的“條件”單元格中輸入一條SELECT語句,并將SELECT語句放置在括號中。

(3)如果要用子查詢定義“字段”單元格,則可以在“字段”單元格的括號內(nèi)輸入一條SELECT語句。

【例7-15】查詢并顯示“英語專業(yè)課成績”表中寫作成績大于平均寫作成績的記錄。

操作步驟如下:

(1)在“基礎(chǔ)篇-學(xué)生成績管理系統(tǒng)”數(shù)據(jù)庫窗口中,選擇“查詢”對象,然后雙擊“在設(shè)計視圖中創(chuàng)建查詢”選項。

(2)在“顯示表”對話框中單擊“表”選項卡,雙擊“英語專業(yè)課成績”表,然后關(guān)閉“顯示表”對話框。

(3)雙擊“英語專業(yè)課成績”表字段列表中的“*”和“寫作”。

(4)在“年齡”列的“準(zhǔn)則”單元格內(nèi)填入“>(SELECTAVG([寫作])FROM[英語專業(yè)課成績])”。

(5)單擊工具欄中的【視圖】按鈕,或單擊【運行】按鈕切換到“數(shù)據(jù)表”視圖。

(6)單擊工具欄中的【保存】按鈕,將查詢保存為“子查詢”。

此例的SQL語句如圖7-49所示。圖7-49子查詢的SQL語句7.4.3用SQL語句實現(xiàn)各種查詢

可以用SQL查詢實現(xiàn)前面所講的各種查詢。

1.選擇查詢

【例7-16】查詢學(xué)生的姓名、性別、課程編號和成績。

SELECT學(xué)生.姓名,學(xué)生.性別,公共課成績.課程編號,公共課成績.成績

FROM學(xué)生INNERJOIN公共課成績ON學(xué)生.學(xué)號=公共課成績.學(xué)號;

2.計算查詢

【例7-17】統(tǒng)計每位學(xué)生英語專業(yè)課的總成績,計算公式為“總成績=[精讀]+[泛讀]+[寫作]”。

SELECT英語專業(yè)課成績.學(xué)號,英語專業(yè)課成績.精讀,英語專業(yè)課成績.泛讀,英語專業(yè)課成績.寫作,[精讀]+[泛讀]+[寫作]AS總成績

FROM英語專業(yè)課成績;

3.參數(shù)查詢

【例7-18】按學(xué)生名查詢學(xué)生的姓名、籍貫、愛好。

PARAMETERS姓名Text(255);

SELECT學(xué)生.姓名,學(xué)生.籍貫,學(xué)生.愛好FROM學(xué)生;

4.操作查詢

1)更新查詢

【例7-19】在“學(xué)生”表的“學(xué)號”字段后加上字串“2000”。

UPDATE學(xué)生SET學(xué)生.學(xué)號=[學(xué)號]+“2000”;

2)追加查詢

【例7-20】將“學(xué)生”表的所有字段追加到“學(xué)生2”表中。

INSERTINTO學(xué)生2

SELECT學(xué)生.*

FROM學(xué)生;

3)刪除查詢

【例7-21】刪除“學(xué)生2”表中所有姓“王”的學(xué)生記錄。

DELETE學(xué)生2.*,學(xué)生2.姓名

FROM學(xué)生2

WHERE(((學(xué)生2.姓名)Like“王*”));

4)生成表查詢

【例7-22】查詢“教師”表中的所有記錄,并生成“教師副本”表。

SELECT教師.*INTO教師副本

FROM教師;7.4.4SQL查詢語句的應(yīng)用

【例7-23】在數(shù)據(jù)庫文件“l(fā)aborage.mdb”中的數(shù)據(jù)表“pay”中包含以下字段:工號(C)、姓名(C)、性別(C)、部門(C)、婚否(L)、工作日期(D)、工資(N)、補貼(N)、公積金(N),應(yīng)發(fā)工資(N),如圖7-50所示。注意:填寫命令時,均不考慮表的打開和關(guān)閉。圖7-50表pay

(1)要求填寫SQL命令,列出部門為“財務(wù)科”和“研發(fā)部”的所有女性職工的信息。

SQL命令如下:

SELECTpay.工號,pay.姓名,pay.性別,pay.部門,pay.婚否,pay.工作日期,pay.

工資,pay.補貼,pay.公積金,pay.應(yīng)發(fā)工資

FROMpay

WHERE(((pay.性別)=“女”)AND((pay.部門)=“財務(wù)科”))OR(((pay.性別)=“女”)AND((pay.部門)=“研

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論