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

下載本文檔

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

文檔簡(jiǎn)介

7.1創(chuàng)建查詢

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

7.1.1查詢?cè)O(shè)計(jì)器

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

1.查詢?cè)O(shè)計(jì)器及其打開(kāi)方式

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

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

2.“查詢?cè)O(shè)計(jì)”工具欄

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.編輯字段

1)添加字段

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

2)添加全部字段

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

3)刪除字段

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

4)移動(dòng)字段的位置

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

5)修改字段名

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

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

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

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

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

8)改變查詢?cè)O(shè)計(jì)網(wǎng)格的寬度

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

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

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

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

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

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

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

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

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

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

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

操作步驟如下:

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

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

(3)選擇“設(shè)計(jì)視圖”選項(xiàng),再單擊【確定】按鈕,打開(kāi)查詢?cè)O(shè)計(jì)器和“顯示表”對(duì)話框。

(4)在“顯示表”對(duì)話框的“表”選項(xiàng)卡中依次將“學(xué)生”表、“公共課成績(jī)”表、“課程編號(hào)”表添加到查詢?cè)O(shè)計(jì)器,如圖7-10所示。

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

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

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

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

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

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

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

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

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

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

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

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

圖7-15選擇字段

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

圖7-18選擇“文本”

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

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

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

計(jì)算字段是通過(guò)在查詢中創(chuàng)建新的字段來(lái)完成計(jì)算功能的。

【例7-3】將“英語(yǔ)專(zhuān)業(yè)課成績(jī)”表中的“學(xué)號(hào)”、“精讀”、“泛讀”、“寫(xiě)作”四個(gè)字段的成績(jī)求和,通過(guò)“總計(jì)”顯示出來(lái)。具體操作步驟如下:

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

(2)通過(guò)“顯示表”對(duì)話框向“查詢?cè)O(shè)計(jì)器”中添加“英語(yǔ)專(zhuān)業(yè)課成績(jī)”表,向設(shè)計(jì)網(wǎng)格中添加“學(xué)號(hào)”、“精讀”、“泛讀”、“寫(xiě)作”四個(gè)字段,如圖7-21所示。

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

圖7-22輸入表達(dá)式

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

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

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

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

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

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

(3)在“顯示表”對(duì)話框中,選擇“查詢”選項(xiàng)卡,將“英語(yǔ)專(zhuān)業(yè)課成績(jī)”添加到“查詢”窗口中。

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

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

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

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

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

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

這種查詢可以對(duì)一個(gè)或多個(gè)表中的一組記錄做全局的更改。

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

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

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

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

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

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

若要查看將要更新的記錄列表,請(qǐng)單擊工具欄上的【視圖】按鈕,此列表將不顯示新值。若要返回查詢的設(shè)計(jì)視圖,請(qǐng)?jiān)賳螕艄ぞ邫谏系摹疽晥D】按鈕,在設(shè)計(jì)視圖中可以進(jìn)行所需的更改。

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

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

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

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

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

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

●如果表不在當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)中,則單擊【另一數(shù)據(jù)庫(kù)】單選按鈕,這時(shí)“文件名”文本框?yàn)橛行顟B(tài),鍵入存儲(chǔ)該表的數(shù)據(jù)庫(kù)的路徑,或單擊“瀏覽”定位到該數(shù)據(jù)庫(kù)。

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

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

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

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

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

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

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

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

圖7-41選擇字段

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL語(yǔ)言具有4個(gè)功能:

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

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

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

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

1.?CREATE命令

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

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

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

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

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

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

2.?DROP命令

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

DropTable<表名>;

DropIndex<索引名>;

DropView<視圖名>;

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

DropTable教師信息;

3.?SELECT命令

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

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

[Where<條件表達(dá)式>]

[GroupBy<分組列名>[Having<條件表達(dá)式>]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.?INSERT命令

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

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

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

5.?UPDATE命令

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

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

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

6.?GRANT命令

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

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

GrantSelectOnTable公共選修課ToPublic;

7.?REMOVE命令

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

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

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

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

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

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

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

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

操作步驟如下:

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

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

(3)雙擊“英語(yǔ)專(zhuān)業(yè)課成績(jī)”表字段列表中的“*”和“寫(xiě)作”。

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

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

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

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

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

1.選擇查詢

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

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

FROM學(xué)生INNERJOIN公共課成績(jī)ON學(xué)生.學(xué)號(hào)=公共課成績(jī).學(xué)號(hào);

2.計(jì)算查詢

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

SELECT英語(yǔ)專(zhuān)業(yè)課成績(jī).學(xué)號(hào),英語(yǔ)專(zhuān)業(yè)課成績(jī).精讀,英語(yǔ)專(zhuān)業(yè)課成績(jī).泛讀,英語(yǔ)專(zhuān)業(yè)課成績(jī).寫(xiě)作,[精讀]+[泛讀]+[寫(xiě)作]AS總成績(jī)

FROM英語(yǔ)專(zhuān)業(yè)課成績(jī);

3.參數(shù)查詢

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

PARAMETERS姓名Text(255);

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

4.操作查詢

1)更新查詢

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

UPDATE學(xué)生SET學(xué)生.學(xué)號(hào)=[學(xué)號(hào)]+“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ǔ)句的應(yīng)用

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

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

SQL命令如下:

SELECTpay.工號(hào),pay.姓名,pay.性別,pay.部門(mén),pay.婚否,pay.工作日期,pay.

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

FROMpay

WHERE(((pay.性別)=“女”)AND((pay.部門(mén))=“財(cái)務(wù)科”))OR(((pay.性別)=“女”)AND((pay.部門(mén))=“研

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論