歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

《數(shù)據(jù)庫原理和應(yīng)用(Access)》第4章:建立和使用查詢.ppt

  • 資源ID:20877995       資源大?。?span id="111ykux" class="font-tahoma">901.50KB        全文頁數(shù):80頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《數(shù)據(jù)庫原理和應(yīng)用(Access)》第4章:建立和使用查詢.ppt

第 4 章 建立和使用查詢 1、 各種查詢的創(chuàng)建及使用方法 2、 SQL 查詢語句的基本格式 3、 用 Access中的工具進(jìn)行 SQL查詢 。 知識(shí)重點(diǎn) 4.1 查詢對象的概述 4.1.1 查詢對象的概念 查詢是 Access進(jìn)行數(shù)據(jù)查找并對數(shù)據(jù)進(jìn)行分析、計(jì)算、更新及其 他加工處理的數(shù)據(jù)庫對象。查詢是通過從一個(gè)或多個(gè)表中提取數(shù)據(jù)并進(jìn) 行加工處理而生成的。查詢本身也是一個(gè)表結(jié)構(gòu),僅僅是一個(gè)結(jié)構(gòu),也 就是說并不占有相應(yīng)的物理空間,它在使用的時(shí)候是根據(jù)結(jié)構(gòu)從相應(yīng)的 表中提取數(shù)據(jù)。當(dāng)對應(yīng)表中的數(shù)據(jù)發(fā)生變化時(shí),查詢也進(jìn)行相應(yīng)的更新 。查詢結(jié)果可以作為窗體、報(bào)表或是數(shù)據(jù)訪問頁等其他數(shù)據(jù)庫對象的數(shù) 據(jù)源。 查詢分為 4類: 選擇查詢:可以進(jìn)行數(shù)據(jù)的檢索和統(tǒng)計(jì); 參數(shù)查詢:根據(jù)用戶提供的數(shù)據(jù)參數(shù)進(jìn)行數(shù)據(jù)的檢索; 動(dòng)作查詢:在選擇查詢的基礎(chǔ)上,對查詢出的結(jié)果進(jìn)行更新操作; SQL查詢:通過編寫 SQL語句進(jìn)行數(shù)據(jù)的檢索。 4.1.2 查詢對象的功能 查詢在數(shù)據(jù)庫的管理與使用中的作用: 使用查詢可以快速準(zhǔn)確的將注意力放到目標(biāo)數(shù)據(jù)上,將其他無關(guān)數(shù)據(jù)排除 到查詢之外。通過查詢游覽表中的數(shù)據(jù),分析數(shù)據(jù)或修改數(shù)據(jù)。 通過操作查詢可以對查詢結(jié)果,也就是目標(biāo)數(shù)據(jù)進(jìn)行操作,方便了用戶操 作。 查詢雖然本身只是一個(gè)結(jié)構(gòu),并不真正具有數(shù)據(jù),但和表一樣可以作為數(shù) 據(jù)源為其他數(shù)據(jù)庫對象,例如窗體、報(bào)表等服務(wù)。 查詢是一個(gè)固定的結(jié)構(gòu),可以將某個(gè)經(jīng)常處理的數(shù)據(jù)或統(tǒng)計(jì)定義為查詢,可以 減少操作的步驟,不用每次都從原始數(shù)據(jù)中進(jìn)行查詢,提高效率。 通過查詢,用戶可以對數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和計(jì)算。 查詢的結(jié)果有一定生存期。當(dāng)一個(gè)查詢關(guān)閉后,其結(jié)果就不存在了。 所有記錄都是保存在原來的表中。 這樣處理有兩個(gè)好處: 節(jié)約外存空間。對查詢的要求是多種多樣的,長期使用數(shù)據(jù)庫,必 然會(huì)生成大批量的、種類繁多的查詢,如果將這些查詢的結(jié)果都保存下 來,必然會(huì)占用巨大的外存空間。另外,許多查詢用過之后可能再也不 會(huì)使用了,也沒有必要長期保存。 當(dāng)記錄數(shù)據(jù)信息的基本表發(fā)生變化時(shí),仍可用這些查詢進(jìn)行同樣的 查找,并且獲得的是變化之后的實(shí)際數(shù)據(jù)。也就是說,可以使查詢結(jié)果 與表的更改保持同步。 4.2選擇查詢 選擇查詢就是按設(shè)定的條件從數(shù)據(jù)源中查找目標(biāo)數(shù)據(jù)的操作。查詢 的結(jié)果是一個(gè)二維表結(jié)構(gòu),但這個(gè)二維表結(jié)構(gòu)并不實(shí)際存在,只是一個(gè) 數(shù)據(jù)記錄的動(dòng)態(tài)集,可以進(jìn)行查看、修改等操作。選擇查詢是數(shù)據(jù)庫應(yīng) 用技術(shù)中使用頻率最高的一種查詢。此外,選擇查詢還可以對數(shù)據(jù)進(jìn)行 分組等復(fù)雜操作,并針對分組進(jìn)后的數(shù)據(jù)進(jìn)行求和、計(jì)數(shù)、求平均值等 匯總計(jì)算。 4.2.1 簡單查詢 簡單查詢是指對于查詢的結(jié)果沒有條件的限制,只是從一個(gè)數(shù)據(jù)源或多個(gè) 數(shù)據(jù)源中提取感興趣的字段組成一個(gè)新的記錄集的查詢方式。 簡單查詢的創(chuàng)建主要有兩種方式:設(shè)計(jì)視圖和查詢向?qū)?。新建?單查詢的步驟如下: 第一步:在數(shù)據(jù)庫窗口中選擇 【 查詢 】 模塊。 第二步:單擊工具欄上的 【 新建 】 按鈕,然后在彈出的對話框中 選擇新建的方式,如圖 4 1所示。 圖 4 1選擇創(chuàng)建查詢方式窗口 第三步:在新建查詢對話框中可以選擇“使用設(shè)計(jì)視圖”或“者向?qū)Х?式”來創(chuàng)建簡單查詢,其中向?qū)Х绞礁鶕?jù)查詢類型的不同還可以分成:簡單查 詢向?qū)?、交叉表查詢向?qū)?、查找重?fù)項(xiàng)查詢向?qū)?、查找不匹配?xiàng)查詢向?qū)А?查詢的創(chuàng)建可以由一個(gè)查詢設(shè)計(jì)器或 4個(gè)查詢向?qū)Ч?5種方式來完成,在 向?qū)У闹笇?dǎo)下可以完成不同功能的簡單查詢設(shè)計(jì)。 1.使用查詢設(shè)計(jì)器創(chuàng)建查詢 使用查詢設(shè)計(jì)器創(chuàng)建查詢,具有很高的靈活性。 【 例 4 1】 使用查詢設(shè)計(jì)器創(chuàng)建查詢,查詢所有讀者借閱圖書的“書 名”、“價(jià)格”與“讀者姓名”。 第一步:打開 tushu數(shù)據(jù)庫,選擇 【 查詢 】 模塊, 【 在設(shè)計(jì)視圖中創(chuàng)建查 詢 】 命令或者單擊 【 新建 】 按鈕,在如圖 4 1的窗體中選擇 【 設(shè)計(jì)視圖 】 命令。 圖 4 1選擇創(chuàng)建查詢方式窗口 第二步:選擇查詢涉及到的表。在如圖 4 2所示的 【 顯示表 】 窗體中選擇 查詢所涉及到的表。雙擊需要添加的表名,或是選中表后單擊 【 添加 】 按鈕就 可以將目標(biāo)表添加到這次查詢中。添加結(jié)束后單擊 【 關(guān)閉 】 按鈕,進(jìn)入設(shè)計(jì)視 圖。這里將“圖書”、“讀者”和“借還記錄”三個(gè)表添加到設(shè)計(jì)器中。 圖 4 2創(chuàng)建查詢添加相關(guān)表 第三步:選擇查詢涉及的字段。 如果事先對表之間的關(guān)系進(jìn)行了正確的配置,三個(gè)表之間會(huì)自動(dòng)建立連接。如 果表之間沒有建立連接則需要手動(dòng)連接相關(guān)表格,連接的方法與創(chuàng)建關(guān)系時(shí)相 同。如圖 4 3所示。 圖 4 3 相關(guān)表自動(dòng)創(chuàng)建連接 將查詢相關(guān)字段添加到字段列表中,添加字段的方法有兩種:第一種,從 表單中雙擊目標(biāo)字段,字段會(huì)自動(dòng)添加到窗體下方的字段列表中;第二種,選 中目標(biāo)字段,然后按住左鍵,將目標(biāo)字段拖動(dòng)到字段列表的相應(yīng)位置松開。這 里添加讀者表的“ dzxm”字段、圖書表的“ tsm”和“ jiage”字段。 視圖下方的各種欄目根據(jù)查詢類型的不同有不同的組合。常用的是: 字段:添加與查詢有關(guān)系的字段。 表:設(shè)定字段所在的表。 顯示:設(shè)定在最后的查詢結(jié)果中是否顯示該字段,如果該字段只是作為查 詢條件,而不是最終用戶感興趣的字段,可將該欄目的“ ”號(hào)勾掉。 條件:設(shè)定查詢的條件。 第三步:完成創(chuàng)建 設(shè)定結(jié)束后對查詢對象進(jìn)行保存,并設(shè)定查詢的名稱。 2.使用向?qū)?chuàng)建選擇查詢 使用向?qū)?chuàng)建查詢的優(yōu)點(diǎn)是方法比較簡單、直觀,但是缺少靈活性。選擇 查詢向?qū)Ц鶕?jù)查詢類型的不同還可以分成:簡單查詢向?qū)?、交叉表查詢向?qū)А?查找重復(fù)項(xiàng)查詢向?qū)?、查找不匹配?xiàng)查詢向?qū)А?1.簡單查詢向?qū)?簡單查詢向?qū)е荒苓M(jìn)行簡單查詢的創(chuàng)建,通常在后期仍然需要對向?qū)?chuàng) 建的查詢進(jìn)行補(bǔ)充和調(diào)整。 第一步:在打開的數(shù)據(jù)庫中,選擇 【 查詢 】 模塊,單擊工具欄上的 【 新 建 】 。在如圖 4 1所示的“新建查詢”對話框中選擇“簡單查詢向?qū)А辈螕?【 確定 】 按鈕。 圖 4 1選擇創(chuàng)建查詢方式窗口 第二步:設(shè)定查詢涉及的表與字段 , 如圖 4 4示 。 對話框要有三個(gè)部分 , 首先從 “ 表 /查詢 ” 下拉控件中選擇某個(gè)與查詢有關(guān)的表 , 例如 “ 借還記錄 ” 表 。 此時(shí)下方 “ 可用字段 ” 列表框中會(huì)列出該表中的所有字段 。 然后依次將本次查 詢需要的字段通過動(dòng)作按鈕添加到右側(cè)的 “ 選定的字段 ” 列表框中 。 選定結(jié)束 后單擊 【 下一步 】 。 圖 4 4創(chuàng)建查詢向?qū)нx擇相關(guān)字段 注意 , 首先保證相關(guān)表之間建立了正確的表關(guān)系 , 否則可能出現(xiàn)不 能正確使用向?qū)У那闆r 。 第三步:彈出的對話框要求指定查詢的名稱以及向?qū)ЫY(jié)束后進(jìn)行的 工作 。 這里使用默認(rèn)的查詢名稱 “ 借閱信息 查詢 ” 。 設(shè)定結(jié)束后單擊 【 完成 】 按鈕 。 2.查找重復(fù)項(xiàng)查詢向?qū)?查找重復(fù)項(xiàng)是指從某字段中查找重復(fù)的數(shù)據(jù),并可以將這些數(shù)據(jù)對應(yīng)的其 他字段顯示出來。 【 例 4 2】 查找那些用戶借閱了 2本以上的圖書,并顯示借還的日期。 實(shí)際就是查找那些在“借還記錄”表“ jszh(借書證)”字段中存在重復(fù)情 況的記錄。 第一步:打開 tushu數(shù)據(jù)庫,選擇 【 查詢 】 模塊,單擊工具欄中的 【 新建 】 按鈕,在如圖 4 1的窗體中選擇“查找重復(fù)項(xiàng)查詢向?qū)А泵睢?圖 4 1選擇創(chuàng)建查詢方式窗口 第二步:彈出的窗體要求用戶選擇重復(fù)數(shù)據(jù)字段所在的表或查詢 , 如圖 4 5 所示 。 選擇 “ 借還記錄 ” , 單擊 【 下一步 】 。 圖 4 5 查找重復(fù)項(xiàng)查詢向?qū)?shù)據(jù)源設(shè)定 第 三步:彈出的“查找重復(fù)項(xiàng)查詢向?qū)?字段設(shè)定”對話框要求設(shè)定查找 重復(fù)數(shù)據(jù)的目標(biāo)字段,將左側(cè)“可用字段”中列表中的“ jszh”字段添加到右側(cè) 的“重復(fù)值字段”列表中,單擊 【 下一步 】 。 第四步:彈出的“查找重復(fù)項(xiàng)查詢向?qū)?其它字段設(shè)定”對話框要求輸入 除了重復(fù)字段外還顯示什么字段,如圖 4 6所示。這里將左側(cè)“可用字段”列 表中的“ jhrq”、“ jhzh”兩字段添加到右側(cè)“另外的查詢字段”列表中。單擊 【 下一步 】 。 圖 4 6查找重復(fù)項(xiàng)查詢向?qū)渌侄卧O(shè)定 第五步:設(shè)定查詢的名稱以及向?qū)ЫY(jié)束后的工作。向?qū)ЫY(jié)束后 有兩種選擇:查看查詢和修改設(shè)計(jì)。如果對查詢結(jié)構(gòu)還需要調(diào)整, 則選擇“修改設(shè)計(jì)”,并進(jìn)入到“查詢設(shè)計(jì)器”窗口對查詢結(jié)構(gòu)進(jìn) 行調(diào)整??梢赃x擇“查看查詢”,查看本次查詢的結(jié)果。設(shè)定后單 擊 【 完成 】 按鈕。 3.查找不匹配項(xiàng)查詢向?qū)?查找不匹配項(xiàng)查詢是對兩個(gè)表中的兩個(gè)字段進(jìn)行比較,查找存在于一 個(gè)字段中而另一個(gè)表中對應(yīng)字段沒有的數(shù)據(jù)。 【 例 4 3】 查找沒有人借閱的圖書名稱。 沒有人借閱的圖書就是“圖書”表中有,而“借還記錄”表中沒有的 圖書。 第一步:打開 tushu數(shù)據(jù)庫,選擇 【 查詢 】 模塊,單擊工具欄中的 【 新建 】 按鈕,在如圖 4 1的窗體中選擇“查找不匹配項(xiàng)查詢”命令。打開后如圖 4 7 所示。要求設(shè)定兩個(gè)表中的基本表。因?yàn)椴檎覉D書表中存在,而借還記錄表中沒 有的圖書,所以基本表應(yīng)該是“圖書”表。單擊 【 下一步 】 。 圖 4 7創(chuàng)建查找不匹配項(xiàng)查詢向?qū)Щ颈碓O(shè)定 第二步:在彈出的“創(chuàng)建查找不匹配項(xiàng)查詢向?qū)П容^表設(shè)定”對話框中 選擇用來比較的表,所以這里選擇“借閱信息”表。 第三步:彈出的“創(chuàng)建查找不匹配項(xiàng)查詢向?qū)гO(shè)定比較字段”對話框中 設(shè)定用來比較的兩個(gè)字段,如圖 4 8所示。這進(jìn)而使用“圖書”表的“ tsgtm”字 段與“借還記錄”表中的“ txm”字段進(jìn)行比較,如果“圖書”表中有的“ tsgtm” 而“借還記錄”表的“ tsm”字段中沒有,就說明這本書沒有人借閱。設(shè)定后單擊 【 下一步 】 。 圖 4 8創(chuàng)建查找不匹配項(xiàng)查詢向?qū)гO(shè)定比較字段 第四步:在“創(chuàng)建查找不匹配項(xiàng)查詢向?qū)гO(shè)定顯示字段”對話框 中設(shè)定最后顯示的字段,這里選擇將“可用字段”列表中的“ tsm”字段 添加到“選定字段”列表中。設(shè)定結(jié)束后單擊 【 下一步 】 。 第五步:設(shè)定查詢的名稱以及向?qū)ЫY(jié)束后的工作。向?qū)ЫY(jié)束后有兩 種選擇:查看查詢和修改設(shè)計(jì)。設(shè)定后單擊 【 完成 】 按鈕。 4.2.2 條件查詢 條件查詢是在簡單查詢的基礎(chǔ)上,通過查詢條件的設(shè)置來達(dá)到查找目標(biāo)數(shù) 據(jù)的操作。條件查詢通常都是通過查詢設(shè)計(jì)器來完成的。 條件查詢可以分為單條件查詢和多條件查詢。 1.單條件查詢 單條件查詢是在查詢中只有一個(gè)條件約束查詢結(jié)果。 【 例 4 4】 在“圖書”表中查詢“清華大學(xué)出版社”出版的圖書的圖書名 和價(jià)格。 第一步:根據(jù)前面介紹的簡單查詢創(chuàng)建方法,將涉及到的“圖書”表添加 到查詢設(shè)計(jì)器中。 第二步:將查詢涉及到的字段添加到設(shè)計(jì)器的字段列表中,這里將“ tsm”、 “ jiage”和“ cbs”添加到列表中,如圖 4 9所示。 第三步:設(shè)定查詢需要的條件。在需要設(shè)定條件的字段下方的“條件”欄目中 進(jìn)行設(shè)定。這里直接設(shè)定“ cbs”字段的條件為“清華大學(xué)出版社”,如圖 4 9所示。 注意,用戶只需要直接輸入“清華大學(xué)出版社”即可,兩端的雙引號(hào)由系統(tǒng)自 動(dòng)生成。 圖 4 9 條件查詢設(shè)置條件 第四步:單擊工具欄中的 【 (運(yùn)行) 】 按鈕來查看查詢的結(jié)果。如果沒 有問題保存查詢。 2.多條件查詢 有多個(gè)條件來約束查詢結(jié)果的稱為多條件查詢 。 要求在 “ 條件 ” 欄目和 “ 或 ” 欄目中對條件進(jìn)行設(shè)置 。 如果在多個(gè)“條件”欄目和“或”欄目中都輸入了條件表達(dá)式, Access 自動(dòng)判斷使用 And運(yùn)算符或者 Or運(yùn)算符進(jìn)行條件組合,組合的原則如下: 在“條件”欄目中的條件使用 And連接,查詢時(shí)需要全部滿足。 在“或”欄目中的不同行的條件使用 Or連接,查詢時(shí)只需滿足其中一個(gè) 條件。同行的使用 And連接。 【 例 4 5】 建立同時(shí)滿足“ flh(分類號(hào))”為“ A”,“ jiage(價(jià)格 )”大小 50元,“清華出版社”的圖書信息查詢。 第一步:將“圖書”表添加到查詢設(shè)計(jì)器中。 第二步:三個(gè)條件都寫在“條件”欄目中。如圖 4 10所示。等同于: flh=“A” and jianjie50 and cbs=“清華大學(xué)出版社”。 圖 4 10 多條件設(shè)置( a) 圖 4 10 多條件設(shè)置( b) 第三步:保存查詢。 如果一個(gè)條件寫在“條件”欄目中,另兩個(gè)條件行分別寫在同一行的“或” 欄目上如圖 4 11所示。如說明結(jié)果中的數(shù)據(jù),滿足“ jiage”大于 50,或者同時(shí) 滿足“ flh”為“ A”和“ cbs”為“清華出版社”。 圖 4 11 查詢條件表達(dá)式生成器 三個(gè)條件寫在了不同的行中 , 說明這三個(gè)條件為或的關(guān)系 。 結(jié)果集只要 “ flh”為 “ A”, “ jiage”大于 50和 “ cbs”為 “ 清華出版社 ” 這三個(gè)條件中的一個(gè) 就可以 。 4.2.3 查詢條件 1.條件的使用 查詢條件是對查詢結(jié)果的一種限制與約束,得到想看到的數(shù)據(jù)。例如,想 查詢某個(gè)出版社出版的圖書資料,就可以通過對“ cbs”字段的限制來實(shí)現(xiàn)。 條件的實(shí)現(xiàn)是通過表達(dá)式完成的。這些表達(dá)式多數(shù)很簡單,例如“男”, 指定只顯示該字段的值為“男”的記錄;“ Between 10 And 20”,指定顯示該 字段的值在 1020之間的記錄。在一個(gè)查詢中,可以在一列中或多列中使用條 件。 條件表達(dá)式的輸入有兩種方式:直接輸入與使用表達(dá)式生成器輸入。直接 輸入就是指按照一定的格式將表達(dá)式直接填入對應(yīng)字段的“條件”欄目中。表 達(dá)式生成器是 Access中專門用來生成表達(dá)式的一種工具,包含著各種格式、對 象和函數(shù)等,使用它可以準(zhǔn)確的生成表達(dá)式。 表達(dá)式生成器的打開方法: 打開查詢設(shè)計(jì)器,單擊要設(shè)置條件的字段的“條件”行網(wǎng)格,將插入點(diǎn)移 入其中。 單擊工具欄上的 【 (生成器) 】 按鈕,或右鍵單擊并選擇快捷菜單的 【 生成器 】 命令,打開表達(dá)式生成器,如圖 4 11所示。 圖 4 11 查詢條件表達(dá)式生成器 如果在啟動(dòng)“表達(dá)式生成器”的網(wǎng)格或“條件”列中已經(jīng)包含了一個(gè)值, 該值將自動(dòng)復(fù)制到其中的表達(dá)式框中。標(biāo)準(zhǔn)的表達(dá)式具有很多的格式要求,而 “表達(dá)式生成器”中提供的選擇式輸入很好的解決了這個(gè)問題,由“表達(dá)式生 成器”提供的條件或函數(shù)都具有準(zhǔn)確的結(jié)構(gòu)格式。 2.條件表達(dá)式 查詢的條件表達(dá)式與設(shè)計(jì)表時(shí)字段的有效性規(guī)則比較相近。如果只是以 一個(gè)值為條件,只需將這個(gè)值輸入到對應(yīng)字段的“ 【 條件 】 ”欄中。如果查詢條 件比較復(fù)雜,就要使用條件表達(dá)式了。 下面介紹條件表達(dá)式的書寫方法。 表達(dá)式中的運(yùn)算符 在條件表達(dá)式中,除了使用常規(guī)的 +、等算術(shù)運(yùn)算符之外,還經(jīng)常使用 以下幾種特殊的運(yùn)算符。 And運(yùn)算符 “邏輯與”運(yùn)算符。條件表達(dá)式 : And 。 要求查詢結(jié)果集中的記錄必須同時(shí)滿足由 And所連接的兩個(gè)條件。 Or運(yùn)算符 “邏輯或”運(yùn)算符。條件表達(dá)式: Or 。 查詢結(jié)果集中的記錄只需要滿足由 Or所連接的兩個(gè)條件中的一個(gè)。 In運(yùn)算符 要求從一個(gè)值域中選擇某一值。例如, In(“男”,“女”)等價(jià)于 “男” Or“女”。如果備選內(nèi)容較多,使用 In運(yùn)算符要比使用 Or更加簡單。 Between And 指定一個(gè)數(shù)字范圍 。 主要用于數(shù)字型 、 貨幣型 、 日期型字段 。 條件表達(dá)式: Between And 。 要求查詢結(jié)果記錄集中的記錄值介于條件一與條件二之間,包括兩個(gè)臨 界點(diǎn)。 Like 用于按照某種約定的格式進(jìn)行查找,可使用不同含義的通配符來實(shí)現(xiàn)不 同程度的模糊查詢。例如, Like“張 *”,查找以字符“張”開頭,后面任意長度 字符的記錄,而 Like “張 _”則指定查找以“張”開頭,后面一個(gè)字符的記錄。 可以使用的通配符如表 4 1所示。 表 4 1 字符樣式中的通配符 通配符 匹配的內(nèi)容 ? 一個(gè)字符 * 零個(gè)或多個(gè)字符 # 一個(gè)數(shù)字( 0 9) 字符表 字符表中的一個(gè)字符 !字符表 字符表中不包含的一個(gè)字符 字符表為字符設(shè)置一個(gè)取值范圍, a-z、 0-9、! 0-9等, 用“”來隔開范圍的上下界。例如,表達(dá)式: Like “ 0-9 *”的含義為 : 查找以 0 9的某一個(gè)數(shù)字開頭,后面任意字符的字符串。 又如,表達(dá)式: Like“DataBase? a-z #! 0-9 *”的含義為: 查找以“ DataBase”開頭,第二個(gè)為任意字符,第三個(gè)為 a z中的任意一個(gè) 字符,第四個(gè)為數(shù)字,第五個(gè)為非 0 9的任何字符,其后為任意字符的字符串。 表達(dá)式的例子 表 4 2是一些條件表達(dá)式的例子。 表 4 2 表達(dá)式示例 表達(dá)式 意義 定價(jià) 50 定價(jià)大于 50 Between #1/2/2007#And#12/30/2007 2007年 1月 2日到 2007年 12月 30日 圖書名稱 Like “*數(shù)據(jù)庫 *” “圖書名稱”包含“數(shù)據(jù)庫”字符 In(“黨員”,“團(tuán)員”, “ 群眾” ) 黨員、團(tuán)員或群眾 Len(出版社 ) Val(5) 出版社字段長度在 5個(gè)字符以上 借閱日期 Date( ) 10 借閱日期在 30天之前 身份證號(hào) Is Not Null “身份證號(hào)”字段不為空 4.3 參數(shù)查詢 前面章節(jié)介紹的查詢條件都是在創(chuàng)建查詢時(shí)設(shè)定好的,是一種固定的條件。例如 查詢條件為“清華大學(xué)出版社”,只能固定的查詢“清華大學(xué)出版社”的圖書,如果 想查詢其他出版社的圖書就需要回到查詢設(shè)計(jì)器中進(jìn)行條件的修改。于是 Access提供 了智能參數(shù)查詢功能。 參數(shù)查詢就是在運(yùn)行查詢的時(shí)候,首先需要輸入?yún)?shù),在根據(jù)參數(shù)進(jìn)行查詢的操 作。 參數(shù)查詢根據(jù)其查詢形式分為 兩種: 單參數(shù)查詢:執(zhí)行查詢時(shí)只需要輸入一個(gè)條件參數(shù)。 多參數(shù)查詢:執(zhí)行查詢時(shí),針對多組條件,需要輸入多個(gè)參數(shù)條件。 4.3.1 單參數(shù)查詢 使用參數(shù)查詢時(shí),數(shù)據(jù)庫系統(tǒng)首先要求輸入查詢的參數(shù),再根據(jù)參數(shù)進(jìn)行相應(yīng)的 參數(shù)查詢,這種查詢方式具有更好的靈活性。 【 例 4 5】 查詢某本圖書的價(jià)格。 第一步:進(jìn)入“查詢設(shè)計(jì)器”,“圖書”表添加到查詢中。 第二步:將涉及到的字段添加到下方的字段列表中。這里需要顯示圖書的 書名和價(jià)格,所以添加“ tsm”和“ jiage”。 第三步:在窗體上方灰色部分單擊鼠標(biāo)右鍵,從彈出的菜單中選擇 【 參數(shù) 】 命令,如圖 4 12所示。 圖 4 12參數(shù)查詢參數(shù)菜單 第四步:在彈出的參數(shù)窗口中對參數(shù)進(jìn)行設(shè)計(jì)。本題根據(jù)書名進(jìn)行查詢,所以 創(chuàng)建一個(gè)名為“請輸入書名”的參數(shù),如圖 4 13所示。 注意:第一,參數(shù)的數(shù)據(jù)類型必須與參數(shù)字段的數(shù)據(jù)類型相同,這里需要和“ tsm” 的數(shù)據(jù)類型相同;第二,這里的參數(shù)名稱會(huì)出現(xiàn)在進(jìn)行查詢時(shí)的參數(shù)輸入框中,如 圖 4 30所示,所以要根據(jù)要求輸入。 圖 4 13參數(shù)查詢參數(shù)設(shè)定 第五步:將設(shè)定好的參數(shù)名填入相應(yīng)字段的“條件”欄目中?!罢堓斎霑眳?數(shù)填入到“ tsm”字段的“條件”欄中,如圖 4 14所示。 注意,參數(shù)的名稱需要用方括號(hào)“ ”擴(kuò)起來。 圖 4 14參數(shù)查詢參數(shù)與字段綁定 第六步:保存查詢,并命名。 第七步:每次使用的時(shí)候,系統(tǒng)會(huì)首先要求輸入?yún)?shù),如圖 4 15所示。 注意:窗體中的提示語句就是參數(shù)名稱“請輸入書名”,所以參數(shù)的名稱應(yīng) 該根據(jù)實(shí)際情況設(shè)定。 圖 4 15參數(shù)查詢輸入?yún)?shù) 4.3.2 多參數(shù)查詢 多參數(shù)查詢的創(chuàng)建方式與單參數(shù)查詢的創(chuàng)建方式相同。只是當(dāng)建立參數(shù)的時(shí)候 需要建立多個(gè)參數(shù),而運(yùn)行查詢的時(shí)候也需要輸入多個(gè)條件參數(shù)。 【 例 4 5】 依出版社和類別查詢圖書信息。 第一步:打開查詢設(shè)計(jì)器,將“圖書”表添加到設(shè)計(jì)器中。 第二步:打開參數(shù)設(shè)計(jì)窗口,并將查詢中設(shè)計(jì)的字段添加到設(shè)計(jì)器中。這里添 加“ tsm”、“ jiage”、“ cbs”和“ flh”4個(gè)字段。 第三步:創(chuàng)建多個(gè)參數(shù)。在圖 4 13中輸入“請輸入出版社”和“請輸入類別” 兩個(gè)參數(shù)。 第四步:在“ cbs”和“ flh”字段的“條件”欄目中輸入相應(yīng)參數(shù),保存退出。 當(dāng)使用多參數(shù)查詢的時(shí)候,系統(tǒng)會(huì)按參數(shù)順序依次要求用戶輸入查詢參數(shù)的值。 4.4 操作查詢 在前面的內(nèi)容中介紹過,查詢除了對數(shù)據(jù)有檢索功能外,還是數(shù)據(jù)庫其他操作 的一個(gè)基礎(chǔ)。例如對數(shù)據(jù)的修改、刪除,甚至是添加都有可能是以查詢?yōu)橄葲Q條件 的。下面介紹的幾種操作查詢就是在查詢的基礎(chǔ)上對查詢的結(jié)果進(jìn)行操作。操作查 詢同樣具有選擇和參數(shù)查詢的特征,只是在二者的基礎(chǔ)上增加了操作功能。 操作查詢除了可以操作數(shù)據(jù)外,還可以添加表。 Access數(shù)據(jù)庫系統(tǒng)允許創(chuàng)建 4中操 作查詢:生成表查詢、更新查詢、追加查詢和刪除查詢。 4.4.1 生成表查詢 生成表查詢是指從一個(gè)或多個(gè)表中查詢出目標(biāo)數(shù)據(jù),并將這些數(shù)據(jù)存儲(chǔ)到一個(gè) 新的表中。生成新表中的字段屬性及主鍵屬性會(huì)繼承源表中字段的屬性。每次運(yùn)行 該查詢都會(huì)生成新表。 【 例 4 6】 在 tushu數(shù)據(jù)庫中創(chuàng)建“高價(jià)圖書”表,將價(jià)格超過 50元的圖書書名及 價(jià)格保存到新表中。 第一步:打開“查詢設(shè)計(jì)器”,并將“圖書”表添加到查詢中。 第二步:單擊菜單 【 查詢 】 中的 【 生成表查詢 】 命令,如圖 4 16所示。 圖 4 16 生成表查詢選擇生成表查詢 第三步:彈出的對話框要求設(shè)定新表的名稱以及新表保存的數(shù)據(jù)庫,如圖 4 17 所示。將表的名稱設(shè)定為“高價(jià)圖書”,保存在當(dāng)前數(shù)據(jù)庫中,單擊 【 確定 】 。 圖 4 17生成表查詢新表名稱設(shè)定 第四步:回到“查詢設(shè)計(jì)器”后,利用條件查詢的方法將價(jià)格高于 50元的書名與 價(jià)格查詢出來,保存該查詢并退出。 第五步:雙擊剛才保存的查詢,彈出如圖 4 18所示的提示窗口,要求確 認(rèn)操作。單擊 【 是 】 ,系統(tǒng)會(huì)生成題中要求建立的“高價(jià)圖書”表。 圖 4 18生成表查詢確認(rèn)生成新表 4.4.2 刪除查詢 刪除查詢可以將查詢出來的數(shù)據(jù)進(jìn)行刪除操作。刪除后的數(shù)據(jù)是不能被恢復(fù)的, 所以在進(jìn)行刪除前應(yīng)切換到“數(shù)據(jù)表視圖”進(jìn)行查看,確定查詢出來的數(shù)據(jù)是需要 刪除的數(shù)據(jù)。 【 例 4 6】 刪除價(jià)格大于 10的圖書的資料。 第一步:打開“查詢設(shè)計(jì)器”,并將“圖書”表添加到查詢中。 第二步:單擊菜單 【 查詢 】 中的 【 刪除查詢 】 命令。 第三步:將涉及到的字段添加到字段列表中。因?yàn)楦鶕?jù)價(jià)格進(jìn)行刪除,所以添加 “ jiage”字段,并在“條件”欄中輸入“ 10”,如圖 4 19所示。 注意:刪除查詢并不是選擇什么字段就只刪除該字段的內(nèi)容,而是將符合該條 件的所有記錄刪除,所以這里雖然只設(shè)置了“ jiage”字段,但是運(yùn)行該查詢會(huì)將所有 10元以上的圖書都刪除。 圖 4 19刪除查詢 第四步:保存查詢。雙擊查詢可以進(jìn)行刪除操作。 4.4.3 更新查詢 更新查詢可以將查詢出來的結(jié)果進(jìn)行批量的修改。使用更新查詢首先將要修 改的數(shù)據(jù)查詢出來,然后使用一個(gè)表達(dá)式將數(shù)據(jù)進(jìn)行修改。更新查詢會(huì)改變數(shù)據(jù) 的物理信息,所以在使用前一定要確認(rèn)沒有錯(cuò)誤,以免造成數(shù)據(jù)的破壞。 【 例 4 7】 將“圖書”表中清華大學(xué)出版社的所有圖書的價(jià)格增加 10元。 第一步:打開“查詢設(shè)計(jì)器”,并將“圖書”表添加到查詢中。 第二步:單擊菜單 【 查詢 】 中的 【 更新查詢 】 命令,此時(shí)“查詢設(shè)計(jì)器”下方的 字段列表結(jié)構(gòu)會(huì)發(fā)生一些改變,出現(xiàn)了一個(gè)“更新到”欄目。 第三步:將查詢涉及到的字段添加到字段列表中,本題需要添加“ cbs”和“ jiage” 兩個(gè)字段。 第四步:條件設(shè)定。首先在“ cbs”字段的“條件”中設(shè)定“清華大學(xué)出版社”。 然后在“ jiage”字段的“更新到”欄目中設(shè)定“ jiage+10”,將價(jià)格在原有基礎(chǔ) 上增加 10元,如圖 4 20所示。 圖 4 20更新查詢 第五步:保存查詢,并雙擊保存后的查詢。 4.4.4 追加查詢 追加查詢是將查詢出來的結(jié)果添加到另一個(gè)表中的操作,這些記錄將 被保存在目標(biāo)表中的結(jié)尾。執(zhí)行追加查詢的前提是,追加部分的數(shù)據(jù)必須 在目標(biāo)表中存在對應(yīng)字段。 【 例 4 8】 將 40元到 50元的圖書的書名和價(jià)格追加到 【 例 4 6】 建立的 “高級(jí)圖書”表中。 第一步:打開“查詢設(shè)計(jì)器”,并將“圖書”表添加到查詢中。 第二步:單擊菜單 【 查詢 】 中的 【 追加查詢 】 命令。 第三步:彈出的窗體要求設(shè)定數(shù)據(jù)要追加的目標(biāo)表。根據(jù)題意,將數(shù)據(jù)追 加到“高價(jià)圖書”表。設(shè)定后單擊 【 確定 】 。 第四步:回到“查詢設(shè)計(jì)器”后,將目標(biāo)字段添加到字段列表中。這里添 加“ tsm”和“ jiage”字段。然后設(shè)定查詢條件:價(jià)格介于 40到 50之間,就是在 “ jiage”的“條件”欄目里添加條件:“ 40 And =50”,然后在“追加到”欄 目中設(shè)置分別將字段追加到那些新字段中,如圖 4 21所示。單擊“追加到”欄 目,從彈出的下拉框中選擇對應(yīng)表的相應(yīng)字段。 第五步:保存查詢,并雙擊查詢執(zhí)行。 圖 4 21 追加查詢設(shè)計(jì)視圖 4.5 交叉表查詢 4.5.1 認(rèn)識(shí)交叉表查詢 在數(shù)據(jù)庫的實(shí)際應(yīng)用當(dāng)中,一些數(shù)據(jù)的統(tǒng)計(jì)需要首先將數(shù)據(jù)按照一定規(guī)律分 組后再操作,例如,查詢各出版社的圖書數(shù)量、查詢各類圖書的平均價(jià)格等。 交叉表查詢就是首先按照一個(gè)或一組屬性對數(shù)據(jù)進(jìn)行分組,然后對分組后的 數(shù)據(jù)進(jìn)行操作的查詢。 4.5.2 交叉表查詢向?qū)?交叉表查詢是一種比較特殊的查詢方式,是將表或其他查詢中的一些數(shù)據(jù)作 為新的字段,用另一種方式來查看數(shù)據(jù),通常用來進(jìn)行數(shù)據(jù)的各種計(jì)算,例 如:求和、平均值、最大值、最小值和計(jì)數(shù)等。 【 例 4 9】 在 tushu數(shù)據(jù)庫中查詢各類圖書的平均價(jià)格 第一步:實(shí)際是要求將圖書按照類別進(jìn)行分組,然后求每組的平均價(jià)格。在新建查 詢窗體中雙擊 【 交叉表查詢向?qū)?】 ,進(jìn)入到數(shù)據(jù)源設(shè)定窗口,如圖 4 22所示。 第二步:在窗體內(nèi)設(shè)置需要使用的數(shù)據(jù)源。 注意,交叉表查詢的記錄源必須是唯一的,所以窗體中聲明:如果包含多個(gè)表 的字段,需要先創(chuàng)建一個(gè)包含這些字段的查詢。 本題設(shè)計(jì)到的字段都來源于“圖書表”,所以這里選中“圖書表”,單擊 【 下 一步 】 。 圖 4 22交叉表查詢數(shù)據(jù)源設(shè)定 第三步:彈出的窗體要求設(shè)定分組的依據(jù)字段,也就是行標(biāo)題,如圖 4 23所示。 題意是按照類別統(tǒng)計(jì)平均價(jià)格,所以這里按照圖書的類別分組。將“可用字段”列 表中的“ flh”字段添加到“選定字段”列表中作為分組依據(jù)。設(shè)定結(jié)束單擊 【 下一 步 】 。 第四步:彈出的窗體要求設(shè)定除了顯示平均價(jià)格外,還需要顯示什么字段作為 依據(jù),也就是列標(biāo)題,這里選擇書名作為列標(biāo)題。設(shè)定后單擊 【 下一步 】 。 圖 4 23創(chuàng)建交叉表查詢行標(biāo)題設(shè)定 第五步:彈出的窗體要求設(shè)定具體統(tǒng)計(jì)的數(shù)據(jù)內(nèi)容,如圖 4 24所示。因?yàn)轭}中要 求統(tǒng)計(jì)每組的平均價(jià)格,所以在中部的“字段”列表中選中“ jiage”字段,然后在 右側(cè)的“函數(shù)”字段中選中“平均”選項(xiàng)。設(shè)定結(jié)束后單擊 【 下一步 】 。 第六步:向?qū)ЫY(jié)束后有兩種選擇:查看查詢和修改設(shè)計(jì)。如果對查詢結(jié)構(gòu)還需要調(diào)整, 則可以選擇“修改設(shè)計(jì)”,并進(jìn)入到“查詢設(shè)計(jì)器”窗口對查詢結(jié)構(gòu)進(jìn)行調(diào)整。否則 可以選擇“查看查詢”。單擊 【 完成 】 按鈕。 圖 4 24創(chuàng)建交叉表查詢統(tǒng)計(jì)項(xiàng)設(shè)定 4.5.3 交叉表查詢的設(shè)計(jì)視圖 可以使用靈活性更大的設(shè)計(jì)窗體方式自行創(chuàng)建交叉表查詢。 【 例 4 10】 在“設(shè)計(jì)視圖”中重新設(shè)計(jì)查詢各類圖書的平均價(jià)格 第一步:創(chuàng)建一個(gè)新的查詢,打開查詢設(shè)計(jì)器,并將圖書表添加到查詢設(shè)計(jì)器中。 第二步:在“查詢設(shè)計(jì)器”中單擊 【 查詢 】 菜單中的 【 交叉表查詢 】 命令。 第三步:使用設(shè)計(jì)器創(chuàng)建表查詢必需要設(shè)置 3項(xiàng)內(nèi)容,分別是:行標(biāo)題、列標(biāo)題、 統(tǒng)計(jì)列。 行標(biāo)題:用作分組的字段,通常由兩個(gè)字段組成,一個(gè)作為分組依據(jù),一個(gè)作 為分組后統(tǒng)計(jì)的值。 列標(biāo)題:除了行標(biāo)題和統(tǒng)計(jì)結(jié)果外顯示的字段。 值列:用來統(tǒng)計(jì)的字段,需要設(shè)置統(tǒng)計(jì)的類型。 根據(jù)題意,對字段進(jìn)行如下設(shè)置,如圖 4 25所示。: 使用“ flh”作為行標(biāo)題中的分組字段,將“總計(jì)”項(xiàng)設(shè)置為“分組”,“交叉表” 項(xiàng)設(shè)置為“行標(biāo)題”; 使用“ jiage”作為行標(biāo)題中的統(tǒng)計(jì)值,并將“總計(jì)”項(xiàng)設(shè)置為“平均值”,“交 叉表”項(xiàng)設(shè)置為“行標(biāo)題”; 使用“ tsm”作為列標(biāo)題,將“總計(jì)”項(xiàng)設(shè)置為“分組”,“交叉表”項(xiàng)設(shè)置為 “列標(biāo)題”; 使用“ jiage”作為值列,將“總計(jì)”項(xiàng)設(shè)置為“平均值”,“交叉表”項(xiàng)設(shè)置為 “值”。 圖 4 25 交叉表查詢的字段設(shè)置 第四步:保存退出 4.6 在查詢中進(jìn)行計(jì)算 4.6.1 查詢中的計(jì)算功能 查詢除了可以查找數(shù)據(jù)庫中保存的數(shù)據(jù)外,還可以進(jìn)行計(jì)算。例如,計(jì)算一個(gè) 字段值的總和或平均值,對兩個(gè)字段進(jìn)行算術(shù)運(yùn)算。查詢中有常規(guī)計(jì)算和自定義計(jì) 算兩種基本計(jì)算。 1.常規(guī)計(jì)算 常規(guī)計(jì)算是指利用現(xiàn)有字段,對記錄組進(jìn)行統(tǒng)計(jì)或匯總,包括求和、求平均值、 記錄數(shù)、最小值、最大值等。 2.自定義計(jì)算 自定義計(jì)算就是使用一個(gè)或多個(gè)字段中的數(shù)據(jù)在進(jìn)行計(jì)算,并使用一個(gè)新創(chuàng)建 的字段顯示出來。 4.6.2 總計(jì)查詢 1.總計(jì)查詢的創(chuàng)建 Access的某些特定功能,如分組、求和、求平均值等,在查詢設(shè)計(jì)器中是無 法直接使用的。必須單擊查詢設(shè)計(jì)工具欄上的 【 (總計(jì)) 】 按鈕,通過 Access系統(tǒng)在查詢設(shè)計(jì)器下部設(shè)計(jì)網(wǎng)格中插入的一個(gè)“總計(jì)”行進(jìn)行計(jì)算。 在查詢設(shè)計(jì)器中的 【 總計(jì) 】 欄目中,可以為某個(gè)字段指定一個(gè)用于總計(jì)計(jì)算 的匯總函數(shù),包括“總和”、“平均值”、“計(jì)數(shù)”、“最大值”、“最小 值”、“標(biāo)準(zhǔn)偏差”、“方差”等。 【 例 4 11】 統(tǒng)計(jì)所有圖書的平均價(jià)格。 第一步:打開查詢設(shè)計(jì)器,將目標(biāo)表“圖書”添加到查詢中。 第二步:將涉及到的“ jiage”字段添加到窗體下方的“字段”欄目中。 第三步:單擊查詢設(shè)計(jì)工具欄上的按鈕,系統(tǒng)會(huì)在在查詢設(shè)計(jì)器下半部的設(shè) 計(jì)網(wǎng)格中插入一個(gè)“總計(jì)”行。 第四步:題目要求統(tǒng)計(jì)所有圖書的平均價(jià)格,先將“ jiage”字段添加到下方的欄 目中,然后單擊“ jiage”字段的“總計(jì)”欄目,并在下拉列表中選擇平均值“平 均值”,如圖 4 26所示。 圖 4 26總計(jì)查詢設(shè)計(jì)視圖 圖 4 27 總計(jì)查詢結(jié)果 第六步:設(shè)置結(jié)束,保存退出。運(yùn)行可得到查詢結(jié)果,如圖 4 27所示。 在總計(jì)查詢中,因?yàn)橛?jì)算字段是根據(jù)原有字段計(jì)算或統(tǒng)計(jì)得來,所以沒有自己的字 段名稱,如圖 4 27所示,得到的平均價(jià)格系統(tǒng)默認(rèn)生成的名稱為“ jiage之 Avg”。 生成的名稱說明了字段的來源,但是不美觀,所以通常在總計(jì)查詢中對新字段重新 命名。如果不想使用 Access自動(dòng)命名的字段標(biāo)題,可以用以下兩種方法指定查詢 中某個(gè)字段的標(biāo)題。 1)在設(shè)計(jì)視圖中,在計(jì)算字段的“字段”欄目中自己命名新字段。方法是在該字 段名稱前自己輸入一個(gè)新名稱,并用英文冒號(hào)隔開。例如上題的“ jiage”字段改成 “平均價(jià)格 :jiage”。 這樣,在顯示結(jié)果的時(shí)候,該字段不會(huì)使用系統(tǒng)默認(rèn)名稱,而使用“平均價(jià)格”。 2)單擊要指定標(biāo)題的字段欄任意位置,選擇快捷菜單中的 【 屬性 】 命令,彈出 “字段屬性”對話框,在其中的“標(biāo)題”屬性欄中輸入自定義的字段標(biāo)題,如圖 4 28所示。 圖 4 28新字段字段屬性窗體 2.總計(jì)統(tǒng)計(jì)的分類 “總計(jì)”欄目中包含 12個(gè)選項(xiàng),其中 9個(gè)為匯總函數(shù),其他為非函數(shù)選項(xiàng)。 1)匯總函數(shù) 用于創(chuàng)建總計(jì)字段的匯總函數(shù)如表 4 3所示。 表 4 3 查詢使用的匯總函數(shù) 英文名 含義 適用的數(shù)據(jù)類型 Sum 總計(jì) 數(shù)值、日期 /時(shí)間、貨幣、自動(dòng)編號(hào) Avg 平均值 數(shù)值、日期 /時(shí)間、貨幣、自動(dòng)編號(hào) Min 最小值 文本、日期 /時(shí)間、貨幣、自動(dòng)編號(hào) Max 最大值 文本、數(shù)值、日期 /時(shí)間、貨幣、自動(dòng)編號(hào) Count 計(jì)數(shù) 文本、備注、數(shù)值、日期 /時(shí)間、貨幣、自動(dòng)編號(hào)、 是 /否、 OLE對象 StDev 標(biāo)準(zhǔn)差 數(shù)值、日期 /時(shí)間、貨幣、自動(dòng)編號(hào) Var 方差 數(shù)值、日期 /時(shí)間、貨幣、自動(dòng)編號(hào) First 第一條記錄 所有類型 Last 最后一條記錄 所有類型 其中,“計(jì)數(shù)”函數(shù)用于統(tǒng)計(jì)記錄的個(gè)數(shù),也就是行數(shù)。對于空白值也統(tǒng)計(jì)在內(nèi), 但空值不進(jìn)行統(tǒng)計(jì)。 2)非函數(shù)選項(xiàng) 分組( Group By) 分組字段。 表達(dá)式( Expression) 創(chuàng)建表達(dá)式包含總計(jì)函數(shù)的計(jì)算字段。通常,在表達(dá)式中使用多個(gè)函數(shù)時(shí),將創(chuàng) 建計(jì)算字段。 條件( Where) 指定不用于分組的字段準(zhǔn)則。如果選擇了這一項(xiàng) Access將清除“顯示”復(fù)選框, 隱藏查詢結(jié)果中的這個(gè)字段。 4.6.3 分組總計(jì)查詢 分組總計(jì)查詢是指在統(tǒng)計(jì)計(jì)算之前,先將數(shù)據(jù)按照要求進(jìn)行分組,對分組 后的數(shù)據(jù)進(jìn)行計(jì)算統(tǒng)計(jì)。 【 例 4 12】 創(chuàng)建一個(gè)具有分類統(tǒng)計(jì)功能的查詢。查詢各個(gè)出版社圖書的平均價(jià)格, 顯示出版社的名稱和平均價(jià)格。 第一步:打開查詢設(shè)計(jì)器,將目標(biāo)表“圖書”添加到查詢中。 第二步:將涉及到的“ cbs”和“ jiage”字段添加到窗體下方的“字段”欄目中。 第三步:單擊查詢設(shè)計(jì)工具欄上的 【 (總計(jì)) 】 按鈕,進(jìn)入總計(jì)查詢狀態(tài)。 第四步:題目要求按照出版社統(tǒng)計(jì)平均價(jià)格,也就是按出版社分組,所以單擊“ cbs” 字段的“總計(jì)”欄目,并在下拉列表中選擇分組“分組”。 第五步:題目要求按出版社統(tǒng)計(jì)平均價(jià)格,所以單擊“ jiage”字段的“總計(jì)”欄目, 并在下拉列表中選擇“平均值”,如圖 4 29所示。 圖 4 29 總計(jì)查詢設(shè)計(jì)視圖 第六步:設(shè)置結(jié)束,保存退出。運(yùn)行可得到查詢結(jié)果。 4.6.4 添加計(jì)算字段 在設(shè)計(jì)表時(shí),一些可以通過其他字段計(jì)算或統(tǒng)計(jì)得到的字段是不會(huì)直接作為字 段保存在表中的,如果需要這些字段的值,則可以在查詢設(shè)計(jì)設(shè)器中通過添加計(jì)算 字段來實(shí)現(xiàn)。這樣可以節(jié)省存儲(chǔ)空間,減少系統(tǒng)維護(hù)表格的代價(jià)。利用新計(jì)算字段, 可以用一個(gè)或多個(gè)字段的值進(jìn)行數(shù)值、日期及文本等各種計(jì)算。 計(jì)算字段是對表或查詢中的數(shù)值型字段進(jìn)行橫向計(jì)算產(chǎn)生結(jié)果的字段,是在查 詢中自定義的字段。創(chuàng)建計(jì)算字段的方法是將表達(dá)式直接輸入到查詢設(shè)計(jì)網(wǎng)格中的 【 字段 】 格中。格式為: 新字段名稱:字段計(jì)算表達(dá)式 【 例 4 13】 創(chuàng)建一個(gè)具有計(jì)算字段的查詢。假設(shè)圖書的每頁有 1000字,查詢每本 圖書的圖書名和大致字?jǐn)?shù)。 使用“圖書”表中的 “ ys” 字段乘上 1000,即可以計(jì)算出圖書的大致字?jǐn)?shù)。新 字段的表達(dá)式應(yīng)該是:“字?jǐn)?shù) : ys*1000”。 圖 4 30 新字段設(shè)定 表達(dá)式填寫在一個(gè)空白的“字段”欄目中,如圖 4 30所示。注 意,表達(dá)式中的冒號(hào)為半角符號(hào)。 創(chuàng)建結(jié)束后,運(yùn)行查詢便可以看見新字段。 4.7 SQL查詢 4.7.1 SELECT語句簡介 SQL( Structured Query Language)語言是一種被關(guān)系數(shù)據(jù)庫產(chǎn)品廣泛 使用的標(biāo)準(zhǔn)結(jié)構(gòu)化查詢語言。結(jié)構(gòu)化查詢語言是一種介于關(guān)系代數(shù)與關(guān)系演算 之間的語言,其功能包括查詢、操縱、定義和控制四個(gè)方面,是一個(gè)通用的、 功能極強(qiáng)的關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言。目前, SQL語言已經(jīng)被確定為關(guān)系數(shù)據(jù)庫系 統(tǒng)的國際標(biāo)準(zhǔn),被絕大多數(shù)商品化的關(guān)系數(shù)據(jù)庫系統(tǒng)采用,受到用戶的普遍接 受。 SQL語言可以對數(shù)據(jù)庫進(jìn)行多種操作,例如定義、查詢等等,其中數(shù)據(jù)查 詢是數(shù)據(jù)庫的核心操作,其功能是指根據(jù)用戶的需要以一種可讀的方式從數(shù)據(jù) 庫中提取所需數(shù)據(jù),由 SQL的數(shù)據(jù)操縱語言的 SELECT語句實(shí)現(xiàn)。 SELECT語 句是 SQL中用途最廣泛的一條語句,具有靈活的使用方式和豐富的功能。 4.7.2 查詢語句的格式 一個(gè)完整的 SELECT語句包括 SELECT、 FROM、 WHERE、 GROUP BY和 ORDER BY子句。它具有數(shù)據(jù)查詢、統(tǒng)計(jì)、分組和排序的功能。它的語法及各子句 的功能如下。 SELECT ALL DISTINCT目標(biāo)列表達(dá)式, n FROM表名或視圖名,表名或視圖名 n WHERE條件表達(dá)式 GROUP BY 列名 l HAVING 條件表達(dá)式 ORDER BY 列名 2 ASC DESC; 從指定的基本表或視圖中,選擇滿足條件的元組數(shù)據(jù),并對它們進(jìn)行分組、統(tǒng)計(jì)、 排序和投影,形成查詢結(jié)果集。 1)各子句的說明 ( 1)其中 SELECT和 FROM語句為必選子句,而其他子句為任選子句; ( 2) SELECT子句 該子句用于指明查詢結(jié)果集的目標(biāo)列,目標(biāo)列表達(dá)式 是指查詢結(jié)果集中包 含的列名,可以是直接從基本表或視圖中投影得到的字段,或是與字段相關(guān)的表達(dá)式 或數(shù)據(jù)統(tǒng)計(jì)的函數(shù)表達(dá)式,目標(biāo)列還可以是常量。 DISTINCT說明要去掉重復(fù)的元組, ALL表示所有滿足條件的元組。省略目標(biāo)列表達(dá)式表示結(jié)果集中包含表名或視 圖名中的所有列,此時(shí)目標(biāo)列表達(dá)式可以使用 *代替。 如果目標(biāo)列中使用了兩個(gè)基本表或與視圖中相同的列名,要在列名前加表名限 定,即使用“表名 .列名”表示。 ( 3) FROM子句 該子句用于指明要查詢的數(shù)據(jù)來自哪些基本表。查詢操作需要的基本表名之間 用“,”分割。 ( 4) WHERE子句 該子句通過條件表達(dá)式描述對基本表或視圖中元組的選擇條件。該語句執(zhí)行時(shí), 以元組為單位,逐個(gè)考察每個(gè)元組是否滿足 WHERE子句中給出的條件,將不滿足 條件的元組篩選掉,所以 WHERE子句中的表達(dá)式也稱為元組的過濾條件。 ( 5) GROUP BY子句 該子句的作用是將結(jié)果集按列名 1的值進(jìn)行分組,即將該列值相等的元組分 為一組,每個(gè)組產(chǎn)生結(jié)果集中的一個(gè)元組,可以實(shí)現(xiàn)數(shù)據(jù)的分組統(tǒng)計(jì)。當(dāng) SELECT 子句后的目標(biāo)列表達(dá)式中有統(tǒng)計(jì)函數(shù),且查詢語句中有分組子句時(shí),則統(tǒng)計(jì)為 分組統(tǒng)計(jì),否則為對整個(gè)結(jié)果集進(jìn)行統(tǒng)計(jì)。 GROUP BY子句后可以使用 HAVING條件表達(dá)式短語,它用來限定分組必 須滿足的條件。 HAVING必須跟隨 GROUP BY子句使用。 ( 6) ORDER BY子句 該子句的作用是對結(jié)果集按列名 2的值的升序( ASC)或降序( DESC)進(jìn) 行排序。查詢結(jié)果集可以按多個(gè)排序列進(jìn)行排序,根據(jù)各排序列的重要性從左向右 列出。 2) SELECT語句的執(zhí)行過程 根據(jù) WHERE子句的條件表達(dá)式,從 FROM子句指定的基本表或視圖中 找出滿足條件的元組,再按 SELECT子句中的目標(biāo)列表達(dá)式,選出元組中的 列值形成結(jié)果集。如果有 GROUP子句,則將結(jié)果集按列名 l的值進(jìn)行分 組,該屬性列值相等的元組為一個(gè)組,每個(gè)組產(chǎn)生結(jié)果集中的一個(gè)元組。如 果 GROUP BY子句后帶 HAVING短語,則只有滿足指定條件的組才予以輸出。 如果有 ORDER BY子句,則結(jié)果集還要按列名 2的值的升序或降序排序。 SQL語言的所有查詢都是利用 SELECT語句完成的,它對數(shù)據(jù)庫的操作 十分方便靈活,原因在于 SELECT語句中的成分豐富多彩,有許多可選形式, 尤其是目標(biāo)列和條件表達(dá)式。下面以學(xué)生管理數(shù)據(jù)庫為例,分別介紹使用 SELECT語句進(jìn)行單表查詢、連接查詢、嵌套查詢和組合查詢。 4.7.3 SQL查詢窗體 在 Access數(shù)據(jù)庫系統(tǒng)中,執(zhí)行任何 SQL語句都是在查詢的設(shè)計(jì)窗體內(nèi)完成。 首先進(jìn)入查詢分析器,關(guān)閉用來添加表的 【 顯示表 】 窗體。然后通過工具欄左端 的 【 (SQL視圖 )】 按鈕或者是視圖菜單中的 【 SQL視圖 】 命令,將編輯窗體切換 到 SQL視圖,如圖 4 32所示。 4.7.4 單表查詢 單表查詢指在查詢過程中只涉及一個(gè)表的查詢語句。單表查詢是最基本的查 詢語句。 【 例 4 14】 查詢清華大學(xué)出版社圖書的資料。 具體操作方法: 第一步:打開數(shù)據(jù)庫 tushu主窗口,單擊“對象”列表中的“查詢”,單擊工具 欄上的 【 新建 】 ,選擇“設(shè)計(jì)視圖”,單擊 【 確定 】 按鈕。 第二步:關(guān)閉“顯示表”對話框,選擇菜單欄 【 視圖 】 |【 SQL 視圖 】 ,如圖 4 31所示 圖 4 31 SQL菜單 圖 4 32 選擇查詢 SQL輸入窗口 第三步:在圖 4 32所示的窗口中輸入如下命令: Select * From 圖書 Where cbs=“清華大學(xué)出版社” 切換到設(shè)計(jì)視圖,可以看到“字段”中增加一了個(gè)“ cbs”,“表”中為“圖書”, 條件為“清華大學(xué)出版社”,如圖 4 33所示。 圖 4 33 設(shè)計(jì)視圖選擇查詢 第四步:保存查詢,查看查詢結(jié)果。 提示: 例中的 from語句用于設(shè)置查詢的數(shù)據(jù)源來,而 where語句用于設(shè)置顯示字段 的條件。 【 例 4 15】 在圖書表中查詢價(jià)格在 20 50(包括 20與 50)之間的圖書的書名和 出版社。 操作步驟: 前兩步同 【 例 4 15】 ,第三步,在 SQL窗口中輸入如下命令: Select tsm, cbs From 圖書 Where jiage between 20 and 50 4.7.5 多表查詢 在一個(gè)數(shù)據(jù)庫中多個(gè)基本表之間一般都存在著某種內(nèi)在的聯(lián)系,它們?yōu)橛脩艄餐峁?相應(yīng)的信息。因此在對數(shù)據(jù)庫的一個(gè)查詢中經(jīng)常需要同時(shí)涉及多個(gè)基本表中的相關(guān)內(nèi) 容。把這種在一個(gè)查詢中同時(shí)涉及兩個(gè)以上的基本表的查詢稱為連接查詢,實(shí)際上它 是數(shù)據(jù)庫最主要的查詢功能 1)條件連接查詢的一般格式: 當(dāng)一個(gè)查詢涉及到數(shù)據(jù)庫的多個(gè)基本表時(shí),必須要按照一定的條 件將這些表連接在一起,以便共同為用戶提供相應(yīng)信息。用來連接兩 個(gè)基本表的條件稱為連接條件或連接謂詞,一般格式為: Select From Where 表名 l列名 l =表名 2列名 2 連接條件中的列名稱為連接字段。連接條件中,連接字段類型必 須是可比的,但名稱不一定是相同的。 條件通過 WHERE子句表達(dá)。在 WHERE子句中,有時(shí)既有連接 條件又有元組選擇條件,這時(shí)它們之間用 AND(與)操作符銜接。 【 例 4 16】 查詢有借還記錄的每個(gè)讀者的姓名、借還記錄情況。 (學(xué)生信息表中的“ xh”字段與借還記錄表中的“ jszh”相對應(yīng) ) 前兩步同 【 例 4 14】 ,第三步,在 SQL窗口中輸入如下命令: Select 學(xué)生信息 .xm , 借還記錄 .* From 學(xué)生信息,借還記錄 Where 學(xué)生信息 .xh=借還記錄 .jszh; 運(yùn)行結(jié)果如下圖 4 34所示。 圖 4 34 例 4 16的查詢結(jié)果 在“設(shè)計(jì)視圖”下看的效果如圖 4 35所示。 圖 4 35 例 4 16在設(shè)計(jì)視圖下的效果 如果在 where語句中,既有連接條件又有查詢條件,一定要首先書寫連接條件。 例如:查詢借閱了定價(jià)大于 50元圖書的讀者信息。 Select 讀者 .* From 讀者,借還記錄,圖書 Where讀者 .jszh=選課 .jszh and 圖書 .tsgtm=借還記錄 .txm and 圖 書 .jiage50 2)通過 JOIN連接查詢的格式: 聯(lián)接格式為: Select From Inner Join | Left Join | Right Join On .=. INNER JOIN 表示內(nèi)部聯(lián)接,即查詢結(jié)果中只包含兩個(gè)表中聯(lián)接字段值相等 的記錄。 LEFT JOIN表示左外部聯(lián)接,即查詢結(jié)果中包含 JOIN關(guān)鍵字左邊表中的所 有記錄,如果右邊表中有符合聯(lián)接條件的記錄,則該表返回相應(yīng)值,否則返回空值。 RIGHT JOIN表示右外部聯(lián)接,即查詢結(jié)果返回包含 JOIN關(guān)鍵字右邊表中的 所有記錄,如果左邊表中有符合條件的記錄,則該表返回相應(yīng)值,否則返回空值。 【 例 4 17】 查詢學(xué)生的班級(jí)名,姓名,學(xué)生。 前兩步同 【 例 4 14】 ,第三步,在 SQL窗口中輸入如下命令: SELECT 班級(jí) .bjmc, 學(xué)生信息 .xm, 學(xué)生信息 .xh FROM 班級(jí) INNER JOIN 學(xué)生信息 ON 班級(jí) .bjdm = 學(xué)生信息 .bjdm; 圖 4 36 例 4 17運(yùn)行結(jié)果 運(yùn)行結(jié)果如下圖 4 36所示。 選擇菜單欄 【 視圖 】 下的 【 設(shè)計(jì)視圖 】 ,得到如圖 4 37所示查詢。 圖 4 37 例 4。 37在設(shè)計(jì)視圖下的效果 雙擊兩表之間的“關(guān)聯(lián)線”,或選擇兩表之間的“關(guān)聯(lián)線”單擊右鍵,彈出如圖 4 38所示的兩表聯(lián)接屬性對話框。 圖 4 38 例 4 37兩表聯(lián)接屬性對話框 班級(jí)和學(xué)生信息兩表中聯(lián)接字段“ bjdm”相等的記錄全部在查詢結(jié)果中出現(xiàn)。 如果使用左外部聯(lián)接,應(yīng)輸入如下 SQL語句: SELECT 班級(jí) .bjmc, 學(xué)生信息 .xm, 學(xué)生信息 .xh FROM 班級(jí) LEFT JOIN 學(xué)生信息 ON 班級(jí) .bjdm = 學(xué)生信息 .bjdm; 其查詢結(jié)果包括“班級(jí)”表中的所有記錄和“學(xué)生信息”表中聯(lián)接字段相等 的那些記錄。其聯(lián)接屬性為圖 4 38中的第二個(gè)選項(xiàng)。 如果使用右外部聯(lián)接,應(yīng)輸入如下 SQL語句: SELECT 班級(jí) .bjmc, 學(xué)生信息 .xm, 學(xué)生信息 .xh FROM 班級(jí) RIGHT JOIN 學(xué)生信息 ON 班級(jí) .bjdm = 學(xué)生信息 .bjdm; 其查詢結(jié)果包括“學(xué)生信息”中的所有記錄和“班級(jí)”中聯(lián)接字段相等的那 些記錄。其聯(lián)接屬性為圖 4 38中的第三個(gè)選項(xiàng)。 4.7.6 函數(shù)查詢 函數(shù)查詢也稱聚集查詢或統(tǒng)計(jì)查詢。函數(shù)查詢就是把基本表中的某一列的值經(jīng) 過函數(shù)運(yùn)算得到一個(gè)單一值的過程。在數(shù)據(jù)庫很多應(yīng)用,并不是只要求能將基本表 中的元組原樣取出,而是要在原有數(shù)據(jù)的基礎(chǔ)上,能夠通過計(jì)算,輸出統(tǒng)計(jì)結(jié)果。 SQL提供了許多統(tǒng)計(jì)函數(shù),通過它們可以進(jìn)行綜合信息的統(tǒng)計(jì)。 函數(shù)可作為列標(biāo)識(shí)符出現(xiàn)在 SELECT子句的目標(biāo)列或 HAVING子句的條件中。 在 SQL查詢語句中,如果有 GROUP BY分組子句,則語句中的函數(shù)為分組統(tǒng)計(jì)函數(shù); 如果沒有 GROUP BY分組子句,則語句中的函數(shù)為全部結(jié)果集的統(tǒng)計(jì)函數(shù)?;镜?SQL函數(shù)及功能見表 4 4。其中如果指定 DISTINCT短語,則表示在計(jì)算時(shí)要取消 指定列中的重復(fù)值。如果不指定 DISTINCT短語和 ALL短語,則取默認(rèn)值 ALL,表示 不取消重復(fù)值 表 4 4基本 SQL函數(shù) 函數(shù) 功能 COUNT( DISTINCT ALL *) COUNT( DISTINCT ALL列名 ) SUM( DISTINCT ALL列名) AVG( DISTINCT ALL列名) MAX( DISTINCT ALL列名) MIN( DISTINCT ALL列名) 統(tǒng)計(jì)元組個(gè)數(shù) 計(jì)算一列中值的個(gè)數(shù) 計(jì)算一列值的總和(此列必須是數(shù)值型 ) 計(jì)算一列值的平均值(此列必須是數(shù)值 型) 求一列值中的最大值 求一列值中的最小值 【 例 4 18】 統(tǒng)計(jì)“讀者”表中讀者數(shù)量。 使用語句為: Select count( *) from 讀者 【 例 4 18】 統(tǒng)計(jì)“讀者”表中各班級(jí)的讀者數(shù)量。 需要對讀者按班級(jí)分組進(jìn)行統(tǒng)計(jì),使用語句為: Select count(*) from 讀者 group by bjdm 【 例 4 19 】 統(tǒng)計(jì)借閱過圖書的讀者人數(shù)。 可以通過對借還記錄表中的“借書證號(hào)”進(jìn)行不重復(fù)計(jì)數(shù)統(tǒng)計(jì),使用語句為: Select count( distinct jszh) From 借還記錄 實(shí)例:求各個(gè)類別讀者的人數(shù)。使用語句如下所示, Select jszh, count( *) From 讀者 Group by dzlb; 本章小結(jié) 通過本章的學(xué)習(xí) , 學(xué)會(huì)各種查詢的創(chuàng)建及使用方法 , 例如選擇查詢 、 參數(shù)查詢和總計(jì)查詢等;學(xué)會(huì) SQL查詢 語句的基本格式 , 并可以用過 Access中的工具進(jìn)行 SQL 查詢 。

注意事項(xiàng)

本文(《數(shù)據(jù)庫原理和應(yīng)用(Access)》第4章:建立和使用查詢.ppt)為本站會(huì)員(za****8)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!