版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫及應(yīng)用基礎(chǔ)第4章查詢學(xué)習(xí)目標(biāo)通過本章的學(xué)習(xí),應(yīng)該掌握(1)查詢的基本概念。(2)查詢的功能及分類。(3)根據(jù)給定條件建立查詢規(guī)則。(4)查詢的設(shè)計(jì)方法。(5)查詢的應(yīng)用。(6)SQL語言及其應(yīng)用?;仡?表結(jié)構(gòu)表表中數(shù)據(jù)字段類型字段名稱字段屬性字母、漢字、數(shù)字、空格不能是”?!薄ⅰ?!”文本型、數(shù)字型、備注型、日期/時間型、邏輯型等特征值的集合常規(guī)屬性和查閱屬性控制操作和顯示方式回顧*主要內(nèi)容4.1查詢概述4.2選擇查詢4.3交叉表查詢4.4參數(shù)查詢4.5操作查詢4.6使用向?qū)?chuàng)建查詢4.7SQL查詢4.1查詢概述
存儲數(shù)據(jù)的目的是為了重復(fù)使用這些數(shù)據(jù)。在使用這些數(shù)據(jù)時,用戶根據(jù)自己的需求可以從單個數(shù)據(jù)表中獲取所需要的信息,也可從多個相關(guān)的數(shù)據(jù)表中獲得信息,所采用的手段就是使用查詢技術(shù)。
Access提供的查詢功能為用戶提供了從若干個數(shù)據(jù)表中獲取信息的手段,是分析和處理數(shù)據(jù)的一種重要工具。
4.1.1查詢的概念
查詢是能夠?qū)⒋鎯τ谝粋€或多個表中符合要求的數(shù)據(jù)挑選出來,并對挑選的結(jié)果按照某種規(guī)則進(jìn)行運(yùn)算的對象。利用不同的查詢,可以方便、快捷地瀏覽數(shù)據(jù)表中的數(shù)據(jù),同時利用查詢可以實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)計(jì)分析與計(jì)算等操作,查詢還可以作為窗體和報(bào)表的數(shù)據(jù)源。查詢也可以看做一個“表”,只不過是以表或查詢?yōu)閿?shù)據(jù)來源的再生表,是動態(tài)的數(shù)據(jù)集合。
查詢主要有以下幾方面的功能。(1)選擇字段和記錄
(2)修改記錄(3)統(tǒng)計(jì)和計(jì)算(4)建立新表(5)為其他數(shù)據(jù)庫對象提供數(shù)據(jù)源
根據(jù)對數(shù)據(jù)源的操作方式以及查詢結(jié)果,Access提供的查詢可以分為五種類型,分別是選擇查詢、交叉表查詢、參數(shù)查詢、操作查詢和SQL查詢。1.選擇查詢選擇查詢是最常用的查詢類型,它能夠根據(jù)用戶所指定的查詢條件,從一個或多個數(shù)據(jù)表中獲取數(shù)據(jù)并顯示結(jié)果,還可以利用查詢條件對記錄進(jìn)行分組,并進(jìn)行求總計(jì)、計(jì)數(shù)、平均值等運(yùn)算。例:查詢學(xué)生的學(xué)號、姓名、選課名稱和成績4.1.2查詢的類型2.交叉表查詢交叉表查詢將源數(shù)據(jù)或查詢中的數(shù)據(jù)分組,一組在數(shù)據(jù)表的左側(cè),另一組在數(shù)據(jù)表的上部,數(shù)據(jù)表內(nèi)行與列的交叉單元格處顯示表中數(shù)據(jù)的某個統(tǒng)計(jì)值。交叉表查詢可以計(jì)算并重新組織數(shù)據(jù)表的結(jié)構(gòu)。這是一種可以將表中的數(shù)據(jù)看作字段的查詢方法。3.參數(shù)查詢參數(shù)查詢?yōu)橛脩籼峁┝烁屿`活的查詢方式,通過參數(shù)來設(shè)計(jì)查詢準(zhǔn)則,由用戶輸入查詢條件并根據(jù)此條件返回查詢結(jié)果。4.操作查詢操作查詢是指在查詢中對源數(shù)據(jù)表進(jìn)行操作,可以對表中的記錄進(jìn)行追加、修改、刪除和更新。操作查詢包括刪除查詢、更新查詢、追加查詢和生成表查詢。5.SQL查詢
SQL是指使用結(jié)構(gòu)化查詢語言SQL創(chuàng)建的查詢。用戶可以使用查詢設(shè)計(jì)器創(chuàng)建查詢,還可以使用SQL語句創(chuàng)建查詢,實(shí)現(xiàn)對數(shù)據(jù)的查詢和更新操作。
查詢共有五種視圖,分別是設(shè)計(jì)視圖、數(shù)據(jù)表視圖、SQL視圖、數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖。(1)設(shè)計(jì)視圖設(shè)計(jì)視圖就是查詢設(shè)計(jì)器,通過該視圖可以創(chuàng)建除SQL之外的各種類型查詢。(2)數(shù)據(jù)表視圖數(shù)據(jù)表視圖是查詢的數(shù)據(jù)瀏覽器,用于查看查詢運(yùn)行結(jié)果。4.1.3查詢視圖(3)SQL視圖
SQL視圖是查看和編輯SQL語句的窗口,通過該窗口可以查看用查詢設(shè)計(jì)器創(chuàng)建的查詢所產(chǎn)生的SQL語句,也可以對SQL語句進(jìn)行編輯和修改。(4)數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖在數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖中,可以根據(jù)需要生成數(shù)據(jù)透視表和數(shù)據(jù)透視圖,從而對數(shù)據(jù)進(jìn)行分析,得到直觀的分析結(jié)果。
在Access中,創(chuàng)建查詢的方法主要兩種,使用查詢設(shè)計(jì)視圖創(chuàng)建查詢和使用查詢向?qū)?chuàng)建查詢。
1.使用查詢設(shè)計(jì)視圖創(chuàng)建查詢使用查詢設(shè)計(jì)視圖創(chuàng)建查詢首先要打開查詢設(shè)計(jì)視圖窗口,然后根據(jù)需要進(jìn)行查詢定義,具體操作步驟如下:(1)打開數(shù)據(jù)庫。4.1.4創(chuàng)建查詢方法(2)選擇“創(chuàng)建”選項(xiàng)卡的“查詢”組,單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)器”窗口,如圖4-1所示。
查詢設(shè)計(jì)器窗口由兩部分組成,上半部分是數(shù)據(jù)源窗口,用于顯示查詢所涉及的數(shù)據(jù)源,可以是數(shù)據(jù)表或查詢,下半部分是查詢定義窗口,也稱為QBE網(wǎng)格,主要包括以下內(nèi)容:①字段:查詢結(jié)果中所顯示的字段。②表:查詢的數(shù)據(jù)源,即查詢結(jié)果中字段的來源。③排序:查詢結(jié)果中相應(yīng)字段的排序方式。④顯示:當(dāng)相應(yīng)字段的復(fù)選框被選中時,則在結(jié)構(gòu)中顯示,否則不顯示。⑤條件:即查詢條件,同一行中的多個準(zhǔn)則之間是邏輯“與”的關(guān)系。⑥或:查詢條件,表示多個條件之間的“或”的關(guān)系。(3)在打開查詢設(shè)計(jì)視圖窗口的同時打開彈出“顯示表”對話框,如圖所示。(4)在“顯示表”對話框中,選擇作為數(shù)據(jù)源的表或查詢,將其添加到查詢設(shè)計(jì)器窗口的數(shù)據(jù)源窗口中。在查詢設(shè)計(jì)器窗口的QBE網(wǎng)格中,單擊該按鈕即可打開下拉列表,通過“字段”列表框選擇所需字段,選中的字段將顯示在QBE網(wǎng)格中。
(5)在查詢設(shè)計(jì)器窗口的QBE網(wǎng)格中,打開“排序”列表框,可以指定查詢的排序關(guān)鍵字和排序方式。排序方式分為升序、降序和不排序三種。(6)使用“顯示”復(fù)選框可以設(shè)置某個字段是否在查詢結(jié)果中顯示,若復(fù)選框被選中,則顯示該字段,否則不顯示。(7)在“條件”文本框中輸入查詢條件,或者利用表達(dá)式生成器輸入查詢條件。(8)保存查詢,創(chuàng)建查詢完成
2.使用查詢向?qū)?chuàng)建查詢使用查詢向?qū)?chuàng)建查詢,就是使系統(tǒng)提供的查詢向?qū)?,按照系統(tǒng)的引導(dǎo),完成查詢的創(chuàng)建。查詢向?qū)Ч灿兴姆N類型:
簡單查詢向?qū)Ы徊姹聿樵兿驅(qū)Р檎抑貜?fù)項(xiàng)查詢向?qū)Р檎也黄ヅ漤?xiàng)查詢向?qū)Р僮鞑襟E如下:(1)打開數(shù)據(jù)庫。(2)選擇“創(chuàng)建”選項(xiàng)卡的“查詢”組,單擊“查詢向?qū)А卑粹o,打開“新建查詢”對話框,如圖4-6所示。圖4-6“新建查詢”對話框(3)在“新建查詢”對話框中,選擇所需的查詢向?qū)?,根?jù)系統(tǒng)的引導(dǎo)選擇參數(shù)或輸入相應(yīng)的信息。(4)保存查詢,完成查詢創(chuàng)建。4.1.5運(yùn)行查詢
查詢創(chuàng)建完成后,將保存在數(shù)據(jù)庫中。運(yùn)行查詢后才能看到查詢結(jié)果。可以通過下面的方法運(yùn)行查詢。(1)在上下文選項(xiàng)卡“查詢工具|設(shè)計(jì)”的“結(jié)果”組中單擊“運(yùn)行”按鈕。(2)在上下文選項(xiàng)卡“查詢工具|設(shè)計(jì)”的“結(jié)果”組中單擊“視圖”按鈕。(3)在導(dǎo)航窗口中選擇要運(yùn)行的查詢雙擊。(4)在導(dǎo)航窗口中選擇查詢對象右單擊,在快捷菜單中選擇“打開”命令。(5)在查詢設(shè)計(jì)視圖窗口的標(biāo)題欄右單擊,在快捷菜單中選擇“數(shù)據(jù)表視圖”。4.2選擇查詢
選擇查詢是最常用的查詢類型,它能夠根據(jù)用戶所指定的查詢條件,從一個或多個數(shù)據(jù)表中獲取數(shù)據(jù)并顯示結(jié)果,還可以利用查詢條件對記錄進(jìn)行分組,并進(jìn)行求總計(jì)、計(jì)數(shù)、平均值等運(yùn)算。選擇查詢產(chǎn)生的結(jié)果是一個動態(tài)記錄集,不會改變源數(shù)據(jù)表中的數(shù)據(jù)。
設(shè)計(jì)查詢時,要確定查詢目標(biāo)。首先要確定查詢的數(shù)據(jù)源,查詢的數(shù)據(jù)源可以是表和已經(jīng)建立的查詢,然后再確定需要顯示的字段或表達(dá)式。
【實(shí)例4-1】在選課管理數(shù)據(jù)庫中,創(chuàng)建以下查詢。(1)查詢學(xué)生的學(xué)號、姓名和性別。(2)查詢學(xué)生的所有信息。(3)查詢學(xué)生的學(xué)號、姓名及所修課程的課程號。(4)查詢學(xué)生的學(xué)號、姓名、選課名稱和成績。4.2.1簡單查詢【操作步驟】①打開數(shù)據(jù)庫“選課管理”。②選擇“創(chuàng)建”選項(xiàng)卡中的“查詢”組,單擊“查詢設(shè)計(jì)”按鈕,打開查詢設(shè)計(jì)器窗口,在“顯示表”對話框中選擇“學(xué)生”表雙擊,將學(xué)生表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中,如圖4-8所示。③通過字段下拉列表按鈕選擇字段“學(xué)號”、“姓名”和“性別”,這些字段將顯示在查詢定義窗口中,如圖所示。保存查詢“學(xué)生信息”,完成查詢的創(chuàng)建。
如果查詢的數(shù)據(jù)源是兩個或以上的表或查詢,在設(shè)計(jì)查詢需要創(chuàng)建數(shù)據(jù)源之間的連接關(guān)系。查詢連接的類型,共分為三種:內(nèi)部連接、左連接和右連接。(1)內(nèi)部連接內(nèi)部連接是指將兩個表中連接字段相等的記錄提取出來進(jìn)行合并,從中選取所需要的字段形成一條記錄,顯示在查詢結(jié)果中。內(nèi)部連接是系統(tǒng)默認(rèn)的連接類型。4.2.2查詢中的連接類型(2)左連接左連接是指取左表中的所有記錄和右表中連接字段相等的記錄作為查詢的結(jié)果。(3)右連接右連接是指取右表中的所有記錄和左表中連接字段相等的記錄作為查詢的結(jié)果。如果查詢中使用的表或查詢之間沒有建立連接關(guān)系,那么查詢將以笛卡爾積的形式產(chǎn)生查詢結(jié)果。也就是說,一個表的每一條記錄和另一個表的所有記錄連接構(gòu)成新的記錄,這樣就會在查詢結(jié)果中產(chǎn)生大量的數(shù)據(jù)。
在實(shí)際應(yīng)用中,經(jīng)常查詢滿足某個條件的記錄,這需要在查詢時進(jìn)行查詢條件的設(shè)置。例如,查詢所有“女同學(xué)”的記錄,查詢職稱為“教授”的教師的信息等等。通過在查詢設(shè)計(jì)視圖中設(shè)置條件可以實(shí)現(xiàn)條件查詢。查詢中的條件通常使用關(guān)系運(yùn)算符、邏輯運(yùn)算符和一些特殊運(yùn)算符來表示。
4.2.3查詢中條件的設(shè)置1.條件的表示(1)關(guān)系運(yùn)算關(guān)系運(yùn)算符由>、>=、<、<=、=和<>等符號構(gòu)成,主要用于數(shù)據(jù)之間的比較,其運(yùn)算結(jié)果為邏輯值,即“真”和“假”。如表所示。
關(guān)系運(yùn)算符含義>大于>=大于等于<小于<=小于等于=等于<>不等于(2)邏輯運(yùn)算邏輯運(yùn)算符由Not、And和Or構(gòu)成,主要用于多個條件的判定,其運(yùn)算結(jié)果是邏輯值。如表4-2所示。關(guān)系運(yùn)算符含義Not邏輯非And邏輯與Or邏輯或(3)其他運(yùn)算
Access提供了一些特殊運(yùn)算符用于對記錄進(jìn)行過濾,常用的特殊運(yùn)算符如表4-3所示。關(guān)系運(yùn)算符含義In指定值屬于列表中所列出的值Between…and…指定值的范圍在…到…之間Is與null一起使用確定字段值是否為空值Like用通配符查找文本型字段是否與其匹配通配符“?”匹配任意單個字符;“*”匹配任意多個字符;“#”匹配任意單個數(shù)字;“!”不匹配指定的字符;[字符列表]匹配任何在列表中的單個字符(1)數(shù)字型:直接表示。例:28、-3.287(2)文本值:用雙引號(")或單引號(')括起。例:"陳江川"、'男'(3)日期型:用#括起來。例:#2006-10-25#例如:查詢2008年9月1日入校的學(xué)生信息。(4)是否型:真為True/On/Yes,
假為False/Off/No。例如:查詢團(tuán)員的信息。(5)空值:isNull非空值:isNotNull例如:查詢無職稱的教師信息。(6)對象名和字段名:用方括號([])括起,且對象名與字段名用感嘆號(!)分隔。例:[年齡]、[學(xué)生]![姓名]2.查詢條件的設(shè)置在查詢設(shè)計(jì)視圖中,設(shè)置查詢條件應(yīng)使用QBE網(wǎng)格中的條件選項(xiàng)來設(shè)置。首先選擇需設(shè)置條件的字段,然后在“條件”文本框中輸入條件。條件的輸入格式與表達(dá)式的格式略有不同,通常省略字段名。如果有多個條件,且涉及到不同的字段,則分別設(shè)置相應(yīng)字段的條件。如果兩個條件之間and運(yùn)算符連接,則輸入的信息放在同一行中;如果兩個條件之間or運(yùn)算符連接,則輸入的信息放在不同行中。
3.查詢舉例【實(shí)例4-2】在教學(xué)管理數(shù)據(jù)庫中,創(chuàng)建以下查詢。(1)查詢1985年以后出生的學(xué)生的學(xué)號、姓名和出生日期。(2)查詢家庭住址在“海淀區(qū)”的同學(xué)的姓名和家庭住址。(3)查詢學(xué)號前2位是“05”或“06”的同學(xué)的姓名和專業(yè)。(4)查詢職稱是“教授”或“副教授”的教師的姓名、性別和職稱。(5)查詢職稱為“中級以上”職稱的教師的姓名、性別和職稱。(6)查詢選修“C程序設(shè)計(jì)”課程的學(xué)生的學(xué)號、姓名和成績。(7)查詢“高等數(shù)學(xué)”大于90分或“計(jì)算機(jī)基礎(chǔ)”大于85的同學(xué)的姓名、課程和成績。(8)查詢未參加考試的同學(xué)的學(xué)號、姓名和課程名稱?!静僮鞑襟E】以(3)和(6)為例。(3)查詢學(xué)號前2位是“05”或“06”的同學(xué)的姓名和專業(yè)。
①打開數(shù)據(jù)庫“選課管理”,選擇“創(chuàng)建”選項(xiàng)卡的“查詢”組,單擊“查詢設(shè)計(jì)”按鈕,打開查詢設(shè)計(jì)器窗口,將“學(xué)生”表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中。②將字段“學(xué)號”、“姓名”和“專業(yè)”添加到查詢定義窗口中,同時將學(xué)號字段的“顯示”復(fù)選按鈕取消;對應(yīng)“系號”字段,在“條件”行輸入“l(fā)ike"0[56]*"”,如圖所示。保存查詢,運(yùn)行結(jié)果如圖所示。(6)查詢選修“C程序設(shè)計(jì)”課程的學(xué)生的學(xué)號、姓名和成績。
①打開查詢設(shè)計(jì)器窗口,將“學(xué)生”、“課程”和“選課”表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中。
②將學(xué)生表中的字段“學(xué)號”、“姓名”、課程表中的字段“課程名稱”和“選課”表中的字段“成績”依次添加到查詢定義窗口中,同時將“課程名稱”字段的“顯示”復(fù)選按鈕取消;對應(yīng)“課程名稱”字段,在“條件”行輸入“="C程序設(shè)計(jì)"”,如圖所示。保存查詢。運(yùn)行結(jié)果如圖所示。
4.2.4在查詢中進(jìn)行計(jì)算和統(tǒng)計(jì)
在設(shè)計(jì)選擇查詢時,除了進(jìn)行條件設(shè)置外,還可以進(jìn)行計(jì)算和分類匯總。例如,計(jì)算學(xué)生的年齡、計(jì)算教師的工齡、統(tǒng)計(jì)教師的工資、按性別統(tǒng)計(jì)學(xué)生數(shù)、按系別統(tǒng)計(jì)教師的任務(wù)工作量等,這需要在查詢設(shè)計(jì)時使用表達(dá)式及查詢統(tǒng)計(jì)功能。1.表達(dá)式用運(yùn)算符將常量、變量、函數(shù)連接起來的式子稱為表達(dá)式,表達(dá)式計(jì)算將產(chǎn)生一個結(jié)果??梢岳帽磉_(dá)式在查詢中設(shè)置條件或定義計(jì)算字段。
Access系統(tǒng)提供了算術(shù)運(yùn)算、關(guān)系運(yùn)算、字符運(yùn)算和邏輯運(yùn)算等4種基本運(yùn)算表達(dá)式2.系統(tǒng)函數(shù)函數(shù)是一個預(yù)先定義的程序模塊函數(shù)。包括標(biāo)準(zhǔn)函數(shù)和用戶自定義函數(shù)。標(biāo)準(zhǔn)函數(shù)可分為數(shù)學(xué)函數(shù)、字符串處理函數(shù)、日期/時間函數(shù)、聚合函數(shù)等,其中聚合函數(shù)可直接用于查詢中。函數(shù)及功能列表如表4-5所示。函數(shù)名稱功能Sum計(jì)算指定字段值的總和。適用于數(shù)字、日期/時間、貨幣型字段Avg計(jì)算指定字段值的平均值。適用于數(shù)字、日期/時間、貨幣型字段Min計(jì)算指定字段值的最小值。適用于文本、數(shù)字、日期/時間、貨幣型字段Max計(jì)算指定字段值的最大值。適用于文本、數(shù)字、日期/時間、貨幣型字段Count計(jì)算指定字段值的計(jì)數(shù)。當(dāng)字段中的值為空(null)時,將不計(jì)算在內(nèi)Var計(jì)算指定字段值方差值。適用于文本、數(shù)字、日期/時間、貨幣型字段StDev計(jì)算指定字段值標(biāo)準(zhǔn)差值。適用于文本、數(shù)字、日期/時間、貨幣型字段First返回指定字段的第一個值。Last返回指定字段的最后一個值。Expression在字段中自定義計(jì)算公式,可以套用多個總計(jì)函數(shù)(1)數(shù)值函數(shù)(2)字符函數(shù)左子串截?。篖eft(字符串,數(shù)值)
例:查詢0501班學(xué)生信息。右子串截取:Right(字符串,數(shù)值)
例:查詢姓名的末尾是“明”字教師信息。子串截?。篗id(字符串,數(shù)值1,數(shù)值2)
例:查詢姓名的第二個字是“立”的教師信息。求字符串長度:Len(字符串)
例:查詢姓名只有兩個字的教師信息??崭裆桑篠pace(數(shù)值)字符重復(fù)函數(shù):String(數(shù)值,字符串)(3)日期時間函數(shù)求系統(tǒng)日期:Date()
例:查詢100天之內(nèi)參加工作的教師信息。求年份:Year(日期)
例:查詢工齡超過10年的教師信息,要求顯示教師編號、姓名、性別、工作時間。求月份:Month(日期)求日份:Day(日期)
例:查詢9月1日入校的學(xué)生信息。求星期:Weekday(日期)星期日為第1天(1),星期一為第2天(2)…
例:查詢星期二入校的學(xué)生信息。求小時:Hour(日期)3.計(jì)算型選擇查詢能夠?qū)⑻暨x出的數(shù)據(jù)按照某種規(guī)則進(jìn)行統(tǒng)計(jì)和計(jì)算的查詢。(1)總計(jì)查詢(2)分組總計(jì)查詢(3)添加計(jì)算字段(1)總計(jì)查詢對表中符合條件的某些字段的值進(jìn)行計(jì)算與統(tǒng)計(jì)。需在設(shè)計(jì)視圖中的總計(jì)行設(shè)置總計(jì)項(xiàng)類型。添加總計(jì)行方法:單擊匯總按鈕??傆?jì)項(xiàng)類型:GroupBy分組
合計(jì)平均值最大值
最小值
計(jì)
數(shù)First第一條記錄Last最后一條記錄Expression表達(dá)式Where條
件(2)分組總計(jì)查詢根據(jù)表中某些字段的值對表中記錄進(jìn)行分類匯總。
用于分組字段的“總計(jì)”方式設(shè)置成“分組”。(3)添加計(jì)算字段計(jì)算字段是表中并不存在的字段,它的值是通過對表中某些字段進(jìn)行運(yùn)算而得到的,故其實(shí)質(zhì)是一個表達(dá)式。添加方法:在設(shè)計(jì)視圖中的“字段”行中直接添加一個內(nèi)容為表達(dá)式的新字段。
新標(biāo)題:表達(dá)式①當(dāng)數(shù)據(jù)源為多個表或查詢,而計(jì)算表達(dá)式中的某一字段在多個表中都存在時,引用時必須指定來源于哪個表。②表達(dá)式中可以包含統(tǒng)計(jì)函數(shù),此時該字段的總計(jì)方式為表達(dá)式。4.查詢舉例【實(shí)例4-3】在選課管理數(shù)據(jù)庫中,創(chuàng)建以下查詢。(1)查詢學(xué)生的學(xué)號、姓名、出生日期并計(jì)算年齡。(2)統(tǒng)計(jì)各系學(xué)生的平均年齡。(3)統(tǒng)計(jì)各年份出生的學(xué)生人數(shù)。(4)統(tǒng)計(jì)每位教師的所教課程的總學(xué)時。(5)統(tǒng)計(jì)“計(jì)算機(jī)系”教師的課程總學(xué)時數(shù)。(6)統(tǒng)計(jì)學(xué)生的課程總成績和平均成績。【操作步驟】
打開數(shù)據(jù)庫“選課管理”,在數(shù)據(jù)庫中選擇查詢?yōu)椴僮鲗ο?,單擊“在設(shè)計(jì)視圖中創(chuàng)建查詢”選項(xiàng),打開查詢設(shè)計(jì)器窗口,將查詢所需要的表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中。(1)查詢學(xué)生的學(xué)號、姓名、出生日期并計(jì)算年齡將學(xué)生表的字段“學(xué)號”、“姓名”、“出生日期”添加到QBE網(wǎng)格中,然后在空白列中輸入“年齡:Year(Date())-Year([出生日期])”,其中,Year(Date())-Year([出生日期])是計(jì)算年齡的表達(dá)式,而“年齡:”用于設(shè)置年齡的顯示標(biāo)題,如圖所示,保存查詢。(6)統(tǒng)計(jì)學(xué)生的課程總成績和平均成績將學(xué)生表的字段“學(xué)號”、“姓名”、選課表的字段“成績”添加到查詢定義窗口中,注意,將成績字段添加2次。然后在“總計(jì)”行中,對應(yīng)“學(xué)號”和“姓名”字段,選擇“分組”;對應(yīng)第1個“成績”字段,選擇“合計(jì)”并添加標(biāo)題“總成績”,對應(yīng)第2個“成績”字段,選擇“平均值”并添加標(biāo)題“平均成績”,如圖所示。4.3交叉表查詢
交叉表查詢通常以一個字段作為表的行標(biāo)題,以另一個字段的取值作為列標(biāo)題,在行和列的交叉點(diǎn)單元格處獲得數(shù)據(jù)的匯總信息,以達(dá)到數(shù)據(jù)統(tǒng)計(jì)的目的。交叉表查詢既可以通過交叉表查詢向?qū)韯?chuàng)建,也可以在設(shè)計(jì)視圖中創(chuàng)建。【實(shí)例4-4】在選課管理數(shù)據(jù)庫中,創(chuàng)建以下交叉表查詢。(1)查詢學(xué)生的各門課成績。(2)查詢教師的所授課程及學(xué)時。(3)查詢各系男、女教師的人數(shù)。(4)查詢學(xué)生單科成績、平均成績及總成績。【操作步驟】以(1)為例打開數(shù)據(jù)庫“選課管理”,選擇“創(chuàng)建”選項(xiàng)卡的“查詢”組,單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)器”窗口。將學(xué)生表、課程表和選課表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中,同時將學(xué)生表的字段“學(xué)號”、“姓名”、課程表中的“課程名稱”以及選課表的字段“成績”添加到查詢定義窗口中。
選擇“查詢工具”選項(xiàng)卡的“查詢類型”組,單擊“交叉表”按鈕,查詢定義窗口中將出現(xiàn)“總計(jì)”和“交叉表”行,首先,在“交叉表”行,對應(yīng)“學(xué)號”和“姓名”字段選擇“行標(biāo)題”、對應(yīng)“課程名稱”選擇“列標(biāo)題”,對應(yīng)“成績”字段,選擇“值”,然后,在“總計(jì)”行,對應(yīng)“學(xué)號”、“姓名”和“課程名稱”字段選擇“groupby”,對應(yīng)“成績”字段,選擇“First”,如圖所示。保存查詢并運(yùn)行,運(yùn)行結(jié)果如圖所示。圖4-43查詢(1)運(yùn)行結(jié)果說明(1)在交叉表查詢設(shè)計(jì)時,如果在“交叉表”行中,設(shè)置某個字段的選項(xiàng)為“值”,則在“總計(jì)”行中可以有多種選擇,每個選項(xiàng)都與表4-5的系統(tǒng)函數(shù)相對應(yīng)。如果獲取的數(shù)據(jù)是單一數(shù)據(jù),則可以選擇“第一條記錄”或“最后一條記錄”。(2)本案例的(4)是利用交叉查詢的結(jié)果創(chuàng)建的查詢,數(shù)據(jù)源是已經(jīng)創(chuàng)建的查詢。
4.4參數(shù)查詢
參數(shù)查詢是一種動態(tài)查詢,可以在每次運(yùn)行查詢時輸入不同的條件值,系統(tǒng)根據(jù)給定的參數(shù)值確定查詢結(jié)果,而參數(shù)值在創(chuàng)建查詢時不需定義。這種查詢完全由用戶控制,能一定程度上適應(yīng)應(yīng)用的變化需要,提高查詢效率。參數(shù)查詢一般創(chuàng)建在選擇查詢基礎(chǔ)上,在運(yùn)行查詢時會出現(xiàn)一個或多個對話框,要求輸入查詢條件。根據(jù)查詢中參數(shù)個數(shù)的不同,參數(shù)查詢可以分為單參數(shù)查詢和多參數(shù)查詢?!緦?shí)例4-5】在教學(xué)管理數(shù)據(jù)庫中,創(chuàng)建以下參數(shù)查詢。(1)按學(xué)號查詢學(xué)生的所有信息。(2)按系名查詢學(xué)生的選課成績。(3)按年級查詢學(xué)生的姓名、性別和所在系。(4)在最低分和最高分之間查詢學(xué)生的學(xué)號、姓名、以及“高等數(shù)學(xué)”課程成績?!静僮鞑襟E】(2)按系名查詢學(xué)生的選課成績
將學(xué)生表、選課表、課程表和系部表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中,將學(xué)生表的“學(xué)號”、“姓名”字段、課程表的“課程名稱”、選課表的“成績”和系部表的“系名稱”添加到查詢定義窗口中,對應(yīng)“系名稱”字段,在“條件”行輸入“[輸入學(xué)生系名:]”,如圖所示。(4)在最低分和最高分之間查詢學(xué)生的學(xué)號、姓名、以及“高等數(shù)學(xué)”課程成績。將學(xué)生表、選課表、課程表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中,將學(xué)生表的“學(xué)號”、“姓名”字段、課程表的“課程名稱”、選課表的“成績”添加到查詢定義窗口中,對應(yīng)“課程名稱”字段,在“條件”行輸入“高等數(shù)學(xué)”,對應(yīng)“成績”字段,在“條件”行輸入“Between[最低分]And[最高分]”,如圖所示。
保存查詢并運(yùn)行,顯示第一個“輸入?yún)?shù)值”對話框,輸入最低分“70”,單擊“確定”按鈕打開第二個“輸入?yún)?shù)值”對話框,輸入最高分“90”,單擊“確定”按鈕,如圖4-54所示。系統(tǒng)會顯示高等數(shù)學(xué)成績介于70和90之間的學(xué)生信息。說明:(1)在參數(shù)查詢中,在“條件”行中輸入的參數(shù)條件實(shí)際上是一個變量,運(yùn)行查詢時用戶輸入的參數(shù)將存儲在該變量中,執(zhí)行查詢時系統(tǒng)自動將字段或表達(dá)式的值與該變量的值進(jìn)行比較,根據(jù)比較的結(jié)果顯示相應(yīng)的結(jié)果。(2)在查詢(4)中,表達(dá)式“Mid([學(xué)號],1,2)”調(diào)用了字符串處理函數(shù)Mid(),它的功能是從學(xué)號字段的第一位開始,取學(xué)號字段的前2位。4.5操作查詢
前面介紹的查詢是按照用戶的需求,根據(jù)一定的條件從已有的數(shù)據(jù)源中選擇滿足特定準(zhǔn)則的數(shù)據(jù)形成一個動態(tài)集,將已有的數(shù)據(jù)源再組織或增加新的統(tǒng)計(jì)結(jié)果,這種查詢方式不改變數(shù)據(jù)源中原有的數(shù)據(jù)狀態(tài)。操作查詢是在選擇查詢的基礎(chǔ)上創(chuàng)建的,可以對表中的記錄進(jìn)行追加、修改、刪除和更新。操作查詢包括刪除查詢、更新查詢、追加查詢和生成表查詢。
刪除查詢又稱為刪除記錄的查詢,可以從一個或多個數(shù)據(jù)表中刪除記錄。使用刪除查詢,將刪除整條記錄,而非只刪除記錄中的字段值。記錄一經(jīng)刪除將不能恢復(fù),因此在刪除記錄前要做好數(shù)據(jù)備份。刪除查詢設(shè)計(jì)完成后,需要運(yùn)行查詢才能將需要刪除的記錄刪除。4.5.1刪除查詢【實(shí)例4-6】在選課管理數(shù)據(jù)庫中,創(chuàng)建以下刪除查詢。(1)刪除成績不及格的學(xué)生的選課記錄。(2)刪除04級學(xué)生的記錄。
說明:
在刪除行的下拉框中有兩個選項(xiàng),Where或From,其中,Where的作用是選擇滿足條件的所有記錄,而From的作用是選擇連續(xù)的滿足條件的記錄,直到遇到不滿足條件的記錄為止。由于表間存在著關(guān)系,在進(jìn)行刪除查詢時要注意到表間的關(guān)系,若關(guān)系完整性設(shè)置了級聯(lián),當(dāng)刪除一對多關(guān)系中“一”方的表中的記錄時,那么“多”方表中與之相關(guān)聯(lián)的記錄也會被刪除。
在數(shù)據(jù)庫操作中,如果只對表中少量數(shù)據(jù)進(jìn)行修改,可以直接在表操作環(huán)境下,通過手工進(jìn)行修改。如果需要成批修改數(shù)據(jù),可以使用系統(tǒng)提供的更新查詢功能來實(shí)現(xiàn)。更新查詢可以對一個或多個表中符合查詢條件的數(shù)據(jù)進(jìn)行批量的修改。4.5.2更新查詢【實(shí)例4-7】在教學(xué)管理數(shù)據(jù)庫中,創(chuàng)建以下更新查詢。(1)將不及格學(xué)生的課程成績置0。(2)將所有必修課程的學(xué)時增加8學(xué)時,學(xué)分增加0.5學(xué)分(假設(shè)必修課程的課程編號以字母B開頭)。【操作步驟】
打開數(shù)據(jù)庫“選課管理”,選擇“創(chuàng)建”選項(xiàng)卡的“查詢”組,單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)器”窗口。(1)將不及格學(xué)生的課程成績置0
將選課表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中,同時將“成績”字段添加到查詢定義窗口中。選擇上下文選項(xiàng)卡“查詢工具”的“查詢類型”組,單擊“更新查詢”按鈕,則在查詢定義窗口中出現(xiàn)“更新到”行。在“條件”行輸入“<60”,然后在“更新到”行輸入0,如圖所示。保存查詢,輸入查詢名“將不及格學(xué)生的課程成績置0”,查詢設(shè)置完成。運(yùn)行查詢,系統(tǒng)自動顯示更新數(shù)據(jù)對話框,如圖所示。單擊“確定”按鈕,滿足條件的記錄將被自動更新。(2)將所有必修課程的學(xué)時增加8學(xué)時,學(xué)分增加0.5學(xué)分將課程表添加到查詢設(shè)計(jì)視圖的數(shù)據(jù)源窗口中,同時將“課程號”、“學(xué)時”、“學(xué)分”字段添加到QBE網(wǎng)格中,然后將“課程號”修改為表達(dá)式“Mid([課程號],1,1)”。右單擊數(shù)據(jù)源窗口,在快捷菜單中選擇“查詢類型|更新查詢”,則在QBE網(wǎng)格中出現(xiàn)“更新到”行。對應(yīng)表達(dá)式“Mid([課程號],1,1)”在“條件”行輸入“"B"”,對應(yīng)“學(xué)時”和“學(xué)分”字段,在“更新到”行分別輸入“[學(xué)時]+8”和“[學(xué)分]+.5”,如圖所示。。保存查詢,輸入查詢名“將所有必修課程的學(xué)時學(xué)分增加”,查詢設(shè)置完成。4.5.3追加查詢
追加查詢可以從一個或多個表將一組記錄追加到一個或多個表的尾部,可以大大提高數(shù)據(jù)輸入的效率。【實(shí)例4-8】在教學(xué)管理數(shù)據(jù)庫中,新增加一個新生檔案表,其結(jié)構(gòu)與學(xué)生表相似,創(chuàng)建追加查詢,將新生檔案表中的數(shù)據(jù)追加到學(xué)生表中。
4.5.4生成表查詢
生成表查詢可以使查詢的運(yùn)行結(jié)果以表的形式存儲,生成一個新表,這樣就可以利用一個或多個表或已知的查詢再創(chuàng)建表,從而使數(shù)據(jù)庫中的表可以創(chuàng)建新表,實(shí)現(xiàn)數(shù)據(jù)資源的多次利用及重組數(shù)據(jù)集合。
【實(shí)例4-9】在選課管理數(shù)據(jù)庫中,創(chuàng)建以下生成表查詢。(1)查詢計(jì)算機(jī)系學(xué)生的學(xué)號、姓名和性別并生成學(xué)生名單表。(2)查詢學(xué)生的各門課成績并生成成績表。4.6使用向?qū)?chuàng)建查詢
利用查詢設(shè)計(jì)視圖可以按照用戶的需求設(shè)置查詢條件,選擇需要的字段和表達(dá)式,還可以利用查詢對源數(shù)據(jù)表進(jìn)行操作,這種方法對使用者的要求較高。如果使用查詢向?qū)?chuàng)建查詢,就可以按照Access系統(tǒng)提供的查詢向?qū)?,按照系統(tǒng)的引導(dǎo),完成查詢的創(chuàng)建。這種方法容易學(xué)習(xí)和掌握。查詢向?qū)в兴姆N類型:簡單查詢向?qū)?、交叉表查詢向?qū)?、查找重?fù)項(xiàng)查詢向?qū)Ш筒檎也黄ヅ漤?xiàng)查詢向?qū)А?.6.1簡單查詢向?qū)?/p>
簡單查詢向?qū)в糜趧?chuàng)建最簡單的選擇查詢,這種方法操作過程簡單易用?!緦?shí)例4-10】在選課管理數(shù)據(jù)庫中,使用簡單查詢向?qū)Р樵冋n程的基本信息。4.6.2交叉表查詢向?qū)?/p>
交叉表查詢向?qū)в糜趧?chuàng)建交叉表查詢查詢,它的顯示數(shù)據(jù)來源于某個字段的值或統(tǒng)計(jì)值?!緦?shí)例4-11】在選課管理數(shù)據(jù)庫中,使用交叉表查詢向?qū)?chuàng)建查詢按系別統(tǒng)計(jì)教師各職稱的人數(shù)。4.6.3查找重復(fù)項(xiàng)查詢向?qū)?/p>
利用查找重復(fù)項(xiàng)查詢向?qū)Э梢圆樵儽碇惺欠癯霈F(xiàn)重復(fù)的記錄,或者確定記錄在表中是否共享相同的值,或?qū)Ρ碇芯哂邢嗤侄蔚闹档挠涗涍M(jìn)行統(tǒng)計(jì)等等。例如,學(xué)生表中是否有相同的記錄,統(tǒng)計(jì)職稱相同的人數(shù)等?!緦?shí)例4-12】在選課管理數(shù)據(jù)庫中,使用查找重復(fù)項(xiàng)查詢向?qū)Р樵兪欠裼型粋€學(xué)生選課成績相同的記錄。4.6.4查找不匹配項(xiàng)查詢向?qū)?/p>
具有“一對多”的表中,在“一”方的表中的每一條記錄,在“多”方可以有多條記錄與之對應(yīng),但也可以沒有任何記錄與之對應(yīng),使用查找不匹配項(xiàng)查詢向?qū)Э梢圆樵冊谝粋€表中查找與另一個表沒有相關(guān)記錄的記錄?!緦?shí)例4-13】在選課管理數(shù)據(jù)庫中,使用查找不匹配項(xiàng)查詢向?qū)?chuàng)建查詢沒有選課的學(xué)生記錄。
4.7SQL查詢SQL查詢是使用SQL語言創(chuàng)建的一種查詢。SQL(StructuredQueryLanguage)結(jié)構(gòu)化查詢語言是標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫語言。SQL語言的功能包括數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制4個部分。每個查詢都對應(yīng)著一個SQL查詢命令。當(dāng)用戶使用查詢向?qū)Щ虿樵冊O(shè)計(jì)器創(chuàng)建查詢時,系統(tǒng)會自動生成對應(yīng)的SQL命令,可以在SQL視圖中查看,除此之外,用戶還可以直接通過SQL視圖窗口輸入SQL命令來創(chuàng)建查詢。
4.7.1SQL語言的特點(diǎn)SQL語言具有以下特點(diǎn):(1)高度的綜合(2)高度非過程化(3)交互式與嵌入式相結(jié)合(4)語言簡潔,易學(xué)易用4.7.2SQL語言的數(shù)據(jù)定義功能SQL語言的數(shù)據(jù)定義功能包括定義表、定義視圖和定義索引,具體地說,是指表、視圖和索引等對象的創(chuàng)建、修改和刪除,在Access中沒有視圖,這里只介紹定義表和定義索引。1.定義基本表定義基本表使用CREATETABLE命令,其語法格式為:CREATETABLE<表名>([<列名1>]<數(shù)據(jù)類型1>[<列級完整性性約束1>][,[<列名2>]<數(shù)據(jù)類型2>[<列級完整性性約束2>]][,……])[,[<列名n>]<數(shù)據(jù)類型n>[<列級完整性性約束n>]][<表級完整性性約束n>]
該語句的功能是,創(chuàng)建一個以<表名>為名的,以指定的列屬性定義的表結(jié)構(gòu)。其中,<表名>是所定義的基本表的名稱,它可以由一個或多個屬性(列)組成,<列級完整性性約束n>和<表級完整性性約束n>用來定義與該表有關(guān)的完整性約束條件,這些完整性約束條件將被保存在數(shù)據(jù)庫中,當(dāng)用戶對表中數(shù)據(jù)進(jìn)行操作時,系統(tǒng)將自動檢查該操作是否違背這些完整性約束條件。2.修改基本表修改基本表使用ALTERTABLE命令,其語法格式為:ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類型1>[<完整性性約束>]][,……][DROP<完整性約束>][ALTER<列名><數(shù)據(jù)類型>]該語句的功能是,修改以<表名>為名的表結(jié)構(gòu)。其中,ADD子句用于增加新列和新的完整性約束條件。DROP子句用于刪除指定的列和完整性。ALTER子句用于修改原有的列的定義,包括列名、列寬和列的數(shù)據(jù)類型。3.刪除表刪除表使用DROPTABLE命令,其語法格式為:DROPTABLE<表名>該語句的功能是,刪除以<表名>為名的表。4.創(chuàng)建索引創(chuàng)建索引使用CREATEINDEX命令,其語法格式為:
CREATE[UNIQUE]INDEX<索引名>ON<表名>(<列名1>[ASC|DESC])[,<列名2>[ASC|DESC],……]該語句的功能是,為指定的表創(chuàng)建索引。其中,[ASC|DESC]是指索引值的排列順序,UNIQUE表示唯一索引。5.刪除索引創(chuàng)建索引使用DROPINDEX命令,其語法格式為:DROPINDEX<索引名>該語句的功能是,刪除指定的索引。6.SQL數(shù)據(jù)定義實(shí)例【實(shí)例4-14】使用SQL語言完成下列操作(1)創(chuàng)建一個表:student,它由學(xué)號、姓名、性別、年齡和專業(yè)5個屬性列組成,其中學(xué)號和姓名屬性不能為空,并且唯一。(2)在student表中增加一個“入學(xué)時間”列,其數(shù)據(jù)類型為日期型。(3)刪除student表中姓名唯一的約束。(4)分別按照姓名字段為student表創(chuàng)建索引,索引名為xmsy。(5)刪除姓名索引?!維QL命令】(1)CREATETABLEstudent(學(xué)號char(10)NOTNULLUNIQUE,姓名char(12)NOTNULLUNIQUE,性別char(2),年齡int,專業(yè)char(15))(2)ALTERTABLEstudentADD入學(xué)時間date(3)ALTERTABLEstudentDROPUNIQUE(姓名)(4)CREATEINDEXxmsyONstudent(學(xué)號)(5)DROPINDEXxmsy
4.7.3SQL語言的數(shù)據(jù)操縱功能SQL的數(shù)據(jù)操縱包括表中數(shù)據(jù)更新、數(shù)據(jù)插入和數(shù)據(jù)刪除等相關(guān)操作。1.?dāng)?shù)據(jù)更新數(shù)據(jù)更新使用UPDATE命令,其語法格式為:UPDATE<表名>SET<列名>=<表達(dá)式>[,<列名>=<表達(dá)式>……][WHERE<條件>]該語句的功能是,用表達(dá)式的值更新指定表中指定列的值。其中,<列名>=<表達(dá)式>用表達(dá)式的值更新指定列的值。where子句用于設(shè)置篩選條件,選擇滿足指定條件的記錄進(jìn)行數(shù)據(jù)更新。2.?dāng)?shù)據(jù)插入
數(shù)據(jù)插入使用INSERT命令,其語法格式為:INSERTINTO<表名>[(列名1[,列名2,……])]VALUES[(常量1[,常量2,……])]該語句的功能是,將一個新記錄插入到指定的表中。其中,INTO子句中的(列名1[,列名2,……])指表中插入新值的列,如果省略該選項(xiàng),則新插入記錄的每一列必須在VALUES子句中有值對應(yīng)。VALUES子句中的(常量1[,常量2,……])指表中插入新列的值,各常量的數(shù)據(jù)類型必須與INTO子句中所對應(yīng)列的數(shù)據(jù)類型相同,且個數(shù)也要匹配。3.?dāng)?shù)據(jù)刪除數(shù)據(jù)刪除使用DELETE命令,其語法格式為:DELETEFROM<表名>WHERE<條件>該語句的功能是,刪除指定表中滿足條件的記錄。如果省略where子句,則刪除表中的所有數(shù)據(jù)。
4.SQL數(shù)據(jù)操縱實(shí)例【實(shí)例4-15】使用SQL語言完成下列操作(1)在student表中插入一條新記錄("08010001","趙丹","男",26,"計(jì)算機(jī)應(yīng)用")(2)將所有學(xué)生的年齡增加1。(3)刪除學(xué)號為"04010001"的記錄?!維QL命令】(1)INSERTINTOstudent(學(xué)號,姓名,性別,年齡,專業(yè))VALUES("08010001","趙丹","男",26,"計(jì)算機(jī)應(yīng)用")(2)UPDATEstudentSET年齡=年齡+1(3)DELETEFROMstudentWHERE學(xué)號="04010001"4.7.4SQL語言的數(shù)據(jù)查詢功能
數(shù)據(jù)查詢是SQL的核心功能,SQL語言提供了SELECT語句用于檢索和顯示數(shù)據(jù)庫中表的信息,該語句功能強(qiáng)大,使用方式靈活,可用一個語句實(shí)現(xiàn)多種方式的查詢。SELECT語句的格式為:SELECT[ALL|DISTINCT]<目標(biāo)列表達(dá)式1>[,<目標(biāo)列表達(dá)式2>……]FROM<表名或查詢名列表>[INNERJOIN<數(shù)據(jù)源表或查詢>ON<條件表達(dá)式>][WHERE<條件表達(dá)式>][GROUPBY<分組字段名>[HAVING<條件表達(dá)式>]][ORDERBY<排序選項(xiàng)>[ASC|DESC]]該語句的功能是,從指定的表或查詢中找出符合條件的記錄,按目標(biāo)列表達(dá)式的設(shè)定,選出記錄中的字段值形成查詢結(jié)果。其中,ALL|DISTINCT表示記錄的范圍,ALL表示所有記錄,DISTINCT表示不包括重復(fù)行的記錄。<目標(biāo)列表達(dá)式>表示查詢結(jié)果中顯示的數(shù)據(jù),一般為列名或表達(dá)式。FROM子句表示數(shù)據(jù)源,即查詢所涉及的相關(guān)表或已有的查詢。WHERE子句表示查詢條件,用于選擇滿足條件的的記錄。GROUPBY子句對查詢結(jié)果進(jìn)行分組。HAVING子句限制分組的條件。ORDERBY子句對查詢結(jié)果進(jìn)行排序?!緦?shí)例4-16】在選課管理數(shù)據(jù)庫中,使用SQL語言完成下列查詢(1)查詢所有學(xué)生的信息。(2)查詢所有學(xué)生的學(xué)號、姓名、出生日期并計(jì)算年齡。(3)查詢1985-1990年間出生的學(xué)生的姓名和出生日期。(4)查詢所有學(xué)生的選課信息,顯示學(xué)號、姓名和出生日期。(5)查詢所有選修“C程序設(shè)計(jì)”的學(xué)生的選課信息,顯示學(xué)號、姓名和成績。(6
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度廠房租賃保證金退還協(xié)議4篇
- 2025年度智能設(shè)備價格信息保密及市場推廣協(xié)議4篇
- 2025年度廠房租賃合同附帶員工宿舍租賃條款4篇
- 二零二四唐山骨瓷品牌創(chuàng)新設(shè)計(jì)研發(fā)合作協(xié)議3篇
- 2025年度企業(yè)品牌策劃合同范本(十)4篇
- 2024年04月江蘇上海浦發(fā)銀行南京分行在線視頻筆試歷年參考題庫附帶答案詳解
- 2024美容美發(fā)店加盟合同
- 2025年茶葉出口基地承包經(jīng)營合同范本4篇
- 專項(xiàng)工程承攬協(xié)議樣本(2024年版)版B版
- 2024年03月浙江中國農(nóng)業(yè)銀行浙江省分行春季招考筆試歷年參考題庫附帶答案詳解
- 地理2024-2025學(xué)年人教版七年級上冊地理知識點(diǎn)
- 2024 消化內(nèi)科專業(yè) 藥物臨床試驗(yàn)GCP管理制度操作規(guī)程設(shè)計(jì)規(guī)范應(yīng)急預(yù)案
- 2024-2030年中國電子郵箱行業(yè)市場運(yùn)營模式及投資前景預(yù)測報(bào)告
- 基礎(chǔ)設(shè)施零星維修 投標(biāo)方案(技術(shù)方案)
- 人力資源 -人效評估指導(dǎo)手冊
- 大疆80分鐘在線測評題
- 2024屆廣東省廣州市高三上學(xué)期調(diào)研測試英語試題及答案
- 中煤平朔集團(tuán)有限公司招聘筆試題庫2024
- 2023年成都市青白江區(qū)村(社區(qū))“兩委”后備人才考試真題
- 不付租金解除合同通知書
- 區(qū)域合作伙伴合作協(xié)議書范本
評論
0/150
提交評論