二級access第三章運算符和表達式_第1頁
二級access第三章運算符和表達式_第2頁
二級access第三章運算符和表達式_第3頁
二級access第三章運算符和表達式_第4頁
二級access第三章運算符和表達式_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、3.2 運算符和表達式(一) 1、概念:表達式(查詢的條件)是運算符、常量、字段值、函數(shù)以及字段名和屬性等的任意組合。 2、Access中表達式調(diào)試方法: “創(chuàng)建”“宏與代碼”標(biāo)簽組“Visual Basic”,立即窗口 “數(shù)據(jù)庫工具”“宏”標(biāo)簽組“Visual Basic”,立即窗口 3、表達式中,字符型的數(shù)據(jù)需用雙引號(“)括起來,日期型數(shù)據(jù)需用(#)括起來,字段需要用( )括起來。 4、常量:一、運算符:有算術(shù)運算符、連接運算符、比較(關(guān)系)運算符、邏輯運算符1、算術(shù)運算符序號序號運算符運算符功能功能優(yōu)先級優(yōu)先級示例示例1冪 高32=9 2.32=5.292負(fù)數(shù)3* /乘 除3*2=6

2、4/2=2 5/2=2.5 4.6/2=2.34整除52=2 5.92=3 3.72=25mod求模(取余)5 mod 2=1 -3.7 mod 2=0 4.7 mod 2=16+ 加 減 低按數(shù)學(xué)規(guī)則運算 說明:1)括號優(yōu)先級最高; 2)對于整除()模運算,若操作數(shù)中含小數(shù),則先對其四舍五入后再運算; 3)模運算結(jié)果的符號取決于被除數(shù),除數(shù)與mod之間要有空格,建議符號兩側(cè)都留空格。 4)日期型數(shù)據(jù)加(減)數(shù)字指天數(shù):#2014-05-15# + 1=#2014-05-16# ;兩個日期相減為二者相差天數(shù): #2014-05-15# #2014-05-14# =12、連接運算符序號序號運算符

3、運算符功能功能優(yōu)先級優(yōu)先級示示 例例1& a、兩邊的操作數(shù)可以是字符型、數(shù)值型或日期型。 b、連接操作前先將數(shù)值型、日期型轉(zhuǎn)換為字符型,然后再做連接運算。相同 a:“你” & “好=你好“ b:123“ & 56=179 c:“abc“ & 6=abc6 “2*3=“ & (2*3) :結(jié)果是:2*3=62+ a.如果兩邊的操作數(shù)都是字符串,則做字符串連接運算。 b.如果一個是數(shù)字字符串,另一個為數(shù)值型,則系統(tǒng)自動將數(shù)字字符串轉(zhuǎn)化為數(shù)值,然后進行算術(shù)加法運算。 c.如果一個是非數(shù)字字符串,另一個為數(shù)值型,則出錯. a:“你”+“好=你好“ “豫”+車牌號

4、:在車牌號字段前加個豫字 b:123+56=179 c:1a+6: 錯誤 “2*3=“ + (2*3) : 錯誤 3、比較(關(guān)系)運算符 共6種,分別是:、=、=、=、 優(yōu)先級相同 結(jié)果為 true(真) 或 false(假),參與算術(shù)運算時分別對應(yīng) 1 或 0 。 如:2100 成績=100 職稱”黨員”4、邏輯運算符序號序號運算符運算符功能功能優(yōu)先級優(yōu)先級示例示例1Not非 高Not 35 :True ; 職稱 not “黨員”2and與32 : True ; 35 and 42 : False3or或 低35 or 45 or 42 : True例:1、性別= “女” and year(

5、出生日期)1990 表示出生在1990后的女生;2、成績90 or 成績=60 表示查找成績大于90分或者小于等于60分的;5、特殊運算符序號序號運算符運算符功能功能示例示例1in判斷其前面內(nèi)容是否在其后的一組值中“優(yōu)” in (“優(yōu)”,”良”,”中”,”差”) 結(jié)果:True2Like匹配姓名 like “張*”3Is null字段為空簡歷 is null 4Is not null字段非空簡歷 is not null5Between-and指定范圍Between 100 and 200 (含邊界值)說明: 1、結(jié)果為 true(真) 或 false(假); 2、優(yōu)先級同比較(關(guān)系)運算符;運

6、算符間的優(yōu)先級(高運算符間的優(yōu)先級(高低)低): 括號優(yōu)先級最高括號優(yōu)先級最高算術(shù)運算符連接運算符比較(關(guān)系)運算符 和特殊運算符邏輯運算符6、標(biāo)識操作符 包括 ! . : 三種 : 用做輸入的自定義表達式與新的計算字段名的分隔符。 例: Forms!窗體名稱!控件名稱.屬性名稱 Reports!報表名稱!控件名稱.屬性名稱7、通配符二、函數(shù)1、函數(shù)概念:2、調(diào)試方法:同運算符調(diào)試方法1、算術(shù)函數(shù)、算術(shù)函數(shù)Rnd() 產(chǎn)生0-1間的隨機數(shù),數(shù)值表達式0,每次產(chǎn)生新的隨機數(shù); =0,產(chǎn)生最近生成的隨機數(shù)。2、文本函數(shù)字符串左側(cè)第一個字符的位置為13、日期、日期/時間函數(shù)時間函數(shù)4、類型轉(zhuǎn)換函數(shù)1

7、、asc() 功能:返回字符表達式首字符的ASCII碼值例:asc(“abc”)=97說明:0-9對應(yīng)ASCII碼48-57; A-Z對應(yīng)ASCII碼65-90; a-z 對應(yīng)ASCII碼97-1222、str()功能:將數(shù)值表達式轉(zhuǎn)換成字符串,數(shù)值表達式為正值時,返回字符前有一空格。例:str(100) 結(jié)果”100” 長度4 (VB環(huán)境調(diào)試時,結(jié)果無”)3、val() 功能:將數(shù)字字符串轉(zhuǎn)換為數(shù)值型數(shù)字例:val(“123”)=123 val(“123a45”)=123說明:轉(zhuǎn)換時,自動去掉其中的空格等符號;轉(zhuǎn)換時,遇到第一個不能識別的字符時停止轉(zhuǎn)換。5、聚合(統(tǒng)計)函數(shù)說明:此部分函數(shù)無

8、法在立即窗口中調(diào)試6、程序流程函數(shù)(略)1、inputbox(提示,標(biāo)題,默認(rèn)值)功能:接收用戶輸入的信息并返回字符串型的值。例:inputbox(這是提示信息,這是標(biāo)題,這是默認(rèn)值)7、消息函數(shù)2、msgbox(提示,按鈕和圖標(biāo),標(biāo)題)功能:顯示信息并根據(jù)用戶單擊的按鈕返回整型的值。例:msgbox(這是提示信息,vbAbortRetryIgnore,這是標(biāo)題)三、查詢條件示例教材P45-P46 表3-3 注意:運算時,類型的匹配問題練習(xí): 1、2*3+8/2*2=14 2、237 mod 7=6 3、出生日期100天后的日期 4、not(23 “abc” =false第3章 查詢強化功能強

9、化功能表查詢查詢窗體報表宏模塊來源來源來源來源來源強化功能2、說明:、說明: 1)查詢對象不是數(shù)據(jù)的集合,而是操作的集合; 2)查詢的運行結(jié)果是一個動態(tài)的數(shù)據(jù)集合:查詢運行時,從源查詢運行時,從源表中抽取滿足條件的數(shù)據(jù)并顯示,關(guān)閉查詢時,查詢的結(jié)果(動態(tài)表中抽取滿足條件的數(shù)據(jù)并顯示,關(guān)閉查詢時,查詢的結(jié)果(動態(tài)集)自動消失,不會被保存在數(shù)據(jù)庫中;集)自動消失,不會被保存在數(shù)據(jù)庫中; 3)數(shù)據(jù)庫中保存的只是查詢的操作。1、查詢概念: 用戶按照一定條件從Access數(shù)據(jù)庫表或已建立的查詢中檢索需要的數(shù)據(jù),進行查看、統(tǒng)計、計算、分析并使用。3.1 查詢的類型(一) 1、選擇查詢:(最常用)根據(jù)條件從

10、一個或多個數(shù)據(jù)源中提取信息并顯示。如:查找姓“王”的男教師。 2、交叉表查詢:實現(xiàn)需要設(shè)置多個分類項進行統(tǒng)計的查詢計算。如:統(tǒng)計不同專業(yè)不同職稱的人數(shù)。 3、參數(shù)查詢:根據(jù)輸入的條件或參數(shù)來檢索數(shù)據(jù)的查詢。如根據(jù)用戶輸入的條件,來查找滿足該條件的信息。查詢分為查詢分為5類:類:3.1 查詢的類型(二) 4、操作查詢:可以對數(shù)據(jù)源中的數(shù)據(jù)進行增加、刪除、修改等編輯操作。又分為4種: 1)生成表查詢:利用一個或多個表中的數(shù)據(jù)建立新表; 2)刪除查詢:將表中滿足條件的記錄信息進行刪除; 3)更新查詢:批量更新表中字段的值; 4)追加查詢:將表中滿足條件的記錄抽取出來添加到其他表的尾部; 5、SQL查

11、詢:通過SQL語句實現(xiàn)。前面的所有查詢都可以轉(zhuǎn)化為sql語句。3.3 查詢設(shè)計界面組成 創(chuàng)建查詢方法:一是利用查詢向?qū)В抢貌樵冊O(shè)計。教材上用第二種方法。 查詢的5種視圖: 創(chuàng)建查詢整體步驟及界面介紹3.4 選擇查詢 選擇查詢概念:按照指定條件從一個或多個數(shù)據(jù)源中查找滿足條件的記錄。 3.4.1創(chuàng)建選擇查詢創(chuàng)建選擇查詢 1、創(chuàng)建不帶條件的查詢:例3-1 2、創(chuàng)建帶條件的查詢:例3-2 3.4.2查詢中的計算查詢中的計算 查詢中的計算有兩類:預(yù)定義計算和自定義計算例3-3-例3-63.5 交叉表查詢 交叉表查詢概念:將來源表中的字段分組,一組列在交叉表的左側(cè),一組列在交叉表的上部,并在交叉表

12、的行列交叉處顯示表中某個字段的計算結(jié)果 創(chuàng)建交叉表查詢需要指定的3種字段:一是交叉表左端的“行標(biāo)題”,最多可設(shè)3個;二是交叉表上端的“列標(biāo)題”,只能設(shè)1個,三是行列交叉處的“值”,只能設(shè)1個。 例3-7 3.6 參數(shù)查詢 參數(shù)查詢概念:利用對話框接收用戶輸入的參數(shù)作為查詢條件,查找滿足該條件的記錄。 例3-8 方法:查詢的“條件”行輸入提示信息3.7 操作查詢 操作查詢概念:對查詢出來的滿足條件的記錄進行相應(yīng)的操作 操作查詢包括生成表查詢、刪除查詢、更新查詢和追加查詢4種。3.7.1 生成表查詢生成表查詢 利用將查詢出來的記錄生成一個新表 例3-93.7.2 刪除查詢刪除查詢 從表中刪除符合條

13、件的記錄 例3-10 3.7.3 更新查詢更新查詢 對滿足條件的記錄進行批量更新 例3-113.7.4 追加查詢追加查詢 將表中滿足條件的記錄追加到另一張表的尾部 例3-123.8 SQL 查詢 SQL即結(jié)構(gòu)化查詢語言,是數(shù)據(jù)庫通用的標(biāo)準(zhǔn)化語言 之前的所有查詢都可以用SQL語句實現(xiàn) SQL語句中不區(qū)別大小寫 查看及高度SQL語句方法:“創(chuàng)建”“查詢設(shè)計”,在“設(shè)計”工具菜單下,切換到“SQL視圖”1、利用create 語句創(chuàng)建表1、格式: create table ( () NOT NULL PRIMARY KEY , () NOT NULL PRIMARY KEY , )2、說明: 1)格式

14、中的“數(shù)據(jù)類型”必須用英文表示; 2)定義主鍵時,可以直接在字段名后加上PRIMARY KEY3、示例: create table 學(xué)生表(學(xué)號 char(4),性別 char(1),出生日期 date,簡歷 memo)2、利用alter語句修改表結(jié)構(gòu)1)修改字段 ALTER TABLE ALTER ()n 使用該命令是修改表的結(jié)構(gòu),不能修改字段名。2)添加字段 ALTER TABLE ADD ()3)刪除字段 ALTER TABLE DROP 例:在STUDENT表中增加一個“電話號碼”字段(長整型),然后將該字段修改為文本型(8字符),最后刪除該字段。alter table student

15、 add 電話號碼 integeralter table student alter 電話號碼 text(8)alter table student drop 電話號碼3、利用drop語句刪除表1、格式: DROP TABLE 2、功能: 刪除指定的表3、說明: 該命令刪除的是整張表,表一旦被刪除,基于其上的所有操作和數(shù)據(jù)都將被刪除。4、利用insert語句向表添加記錄1、格式:INSERT INTO (,,) VALUES(,)2、功能: 向表中添加新記錄3、說明: 如果INTO后缺省字段名,則必須為新記錄中的每個字段都賦值,且插入數(shù)據(jù)的類型和順序要與表中定義的字段一一對應(yīng)。 4、示例: 向

16、STUDENT表中插入2個學(xué)生記錄。 1)Insert into student values(900009,黃娟,女,#1990-5-26#,yes,null,null) 每個字段都有取值,所以into子句后可以省略字段名 2)Insert into student(學(xué)號,姓名,性別) values(900008,李榮輝,男) 只有3個字段被賦值,所以into子句后面必須說明是哪3個字段5、利用update語句更新記錄1、格式:UPDATA SET = ,=, WHERE 2、功能: 對表中滿足條件的記錄用表達式的值代替字段原來的值3、說明: 1) 如果不帶WHERE子句,則更新表中所有的記

17、錄。 2) 如果帶WHERE子句,則只更新表中滿足條件的記錄。4、示例: 將STUDENT表中所有女生的“貸款否”字段改為“否”。update student set 貸款否=no where 性別=女 6、利用delete語句刪除記錄1、格式: DELETE FROM WHERE 2、功能: 從表中刪除滿足條件的記錄3、說明: 如果不帶WHERE子句,則刪除表中所有的記錄(該表對象仍保留在數(shù)據(jù)庫中)。如果帶WHERE子句,則只刪除表中滿足條件的記錄。4、示例: 刪除STUDENT表中學(xué)號為“900008”的學(xué)生記錄。delete from student where 學(xué)號=900008”7、

18、利用select語句實現(xiàn)查詢和計算SELECT語句的基本格式:SELECT ALL|DISTINCT TOP PERCENT AS FROM AS , AS WHERE AND GROUP BY HAVING ORDER BY ASC|DESC 單表查詢(一)單表查詢僅涉及一個表的查詢。1查詢表中的若干列n 從表中選擇需要的目標(biāo)列。n格式:SELECT ,, FROM (1)查詢指定的字段 在目標(biāo)列中指定要查詢的各字段名。(2)查詢所有的字段 在目標(biāo)列中使用“*” 。(3)消除重復(fù)的記錄 在字段名前加上DISTINCT關(guān)鍵字。 (4)查詢計算值 【例】 查詢“學(xué)生”表中所有學(xué)生的姓名、性別和學(xué)

19、號。 select 姓名,性別,學(xué)號 from 學(xué)生單表查詢(二)2選擇查詢n 從表中選出滿足條件的記錄。格式: SELECT FROM WHERE n WHERE子句中的條件是一個邏輯表達式,由多個關(guān)系表達式通過邏輯運算符連接而成。【例】 查詢“學(xué)生”表中計算機系女生的學(xué)號和姓名。 select 學(xué)號,姓名 from 學(xué)生 where 性別=“女” and 系部=“計算機”【例6.17】 查詢“選課”表中成績在8090分之間的記錄。 select * from 選課 where 成績 between 80 and 90 單表查詢(三)3排序查詢n 使用ORDER BY子句可以對查詢結(jié)果按照一

20、個或多個列的升序(ASC)或降序(DESC)排列,默認(rèn)是升序。格式: ORDER BY ASC|DESC【例】 查詢8090分的記錄,同一門課程按成績降序排。 select * from 選課 where 成績 between 80 and 90 order by 課程號, 成績 descn 使用TOP短語可以選出排在前面的若干記錄。格式: TOP 或 TOP PERCENT TOP子句必須和ORDER BY子句同時使用?!纠?.21】 查詢“選課”表中成績排在前5名的記錄。 select top 5 * from 選課 order by 成績 desc單表查詢(四)4分組查詢n 使用GROU

21、P BY子句可以對查詢結(jié)果按照某一列的值分組。n 分組查詢通常與SQL聚合函數(shù)一起使用,先按指定的數(shù)據(jù)項分組,再對各組進行合計。如果未分組,則聚合函數(shù)將作用于整個查詢結(jié)果。n 常用聚合函數(shù):COUNT、AVG、SUM、MIN、MAX【例】 統(tǒng)計“學(xué)生”表中的學(xué)生人數(shù)。 select count(*) AS 總?cè)藬?shù) from 學(xué)生 【例】 統(tǒng)計“學(xué)生”表中各系的學(xué)生人數(shù)。 select 系部, count(*) as 各系人數(shù) from 學(xué)生 group by 系部單表查詢(五) 如果分組后還要求按一定的條件對這些組進行篩選,可以在GROUP BY子句后加上HAVING短語指定篩選條件。 HAV

22、ING短語必須和GROUP BY子句同時使用?!纠?查詢選修了3門以上課程的學(xué)生學(xué)號。 select 學(xué)號 from 選課 group by 學(xué)號 having count(*)=3【例6.26】 查詢選修了3門及以上課程,并且成績在75分以上的學(xué)生學(xué)號。 select 學(xué)號 from 選課 where 成績=75 group by 學(xué)號 having count(*)=3n 當(dāng)WHERE子句、GROUP BY子句、HAVING子句同時出現(xiàn)時,先執(zhí)行WHERE子句,從表中選取滿足條件的記錄,然后執(zhí)行GROUP BY子句對選取的記錄進行分組,再執(zhí)行HAVING短語從分組結(jié)果中選取滿足條件的組。 多表查詢

溫馨提示

  • 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

提交評論