版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職(收銀技能實(shí)訓(xùn))快速收銀操作階段測(cè)試試題及答案
- 2025年大學(xué)動(dòng)物醫(yī)學(xué)(動(dòng)物臨床醫(yī)學(xué))試題及答案
- 2025年大學(xué)植物保護(hù)(植物保護(hù)研究)試題及答案
- 2025年高職(畜牧獸醫(yī))獸醫(yī)技能試題及答案
- 2025年高職3D連續(xù)幀標(biāo)注(標(biāo)注規(guī)范與精度控制)試題及答案
- 行政文員職業(yè)規(guī)劃范本
- 2026天津市糧食儲(chǔ)備有限公司面向社會(huì)招聘1人備考題庫(kù)及完整答案詳解一套
- 2026交通運(yùn)輸部路網(wǎng)監(jiān)測(cè)與應(yīng)急處置中心招聘1人備考題庫(kù)(一)及參考答案詳解
- 2026廣西來(lái)賓市武宣縣政務(wù)服務(wù)和大數(shù)據(jù)發(fā)展局招聘保潔1人備考題庫(kù)及完整答案詳解一套
- 社群實(shí)戰(zhàn)培訓(xùn)課件
- 2026年榆能集團(tuán)陜西精益化工有限公司招聘?jìng)淇碱}庫(kù)及參考答案詳解一套
- 課堂變革經(jīng)驗(yàn)介紹課件
- 2026年魯教版初三政治上冊(cè)月考真題試卷(含答案)
- 物業(yè)春節(jié)前安全生產(chǎn)培訓(xùn)課件
- TJFPA 0023-2025《社會(huì)單位滅火與應(yīng)急疏散評(píng)審導(dǎo)則》
- 2026年衛(wèi)浴潔具安裝合同協(xié)議
- 建房框架結(jié)構(gòu)合同范本
- 2025年寧波市數(shù)據(jù)局直屬事業(yè)單位公開(kāi)招聘工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 民用無(wú)人機(jī)安全培訓(xùn)課件
- 廣東省2026屆高二上數(shù)學(xué)期末復(fù)習(xí)檢測(cè)試題含解析
- 醫(yī)務(wù)科科長(zhǎng)年度述職報(bào)告課件
評(píng)論
0/150
提交評(píng)論