




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Access中的SQL語言1 .SQL概述結(jié)構(gòu)化查詢語言(StructuredQueryLanguageSQL讀成“sequel")自1974年提出,1975年舊M公司在RDBMS(關(guān)系型DBMS)SyatemR上實(shí)現(xiàn)以來,由于它功能豐富、使用方便、簡(jiǎn)潔易學(xué),倍受用戶和計(jì)算機(jī)工業(yè)界的歡迎,經(jīng)不斷修改、擴(kuò)充和完善,現(xiàn)已成為RDBMS的標(biāo)準(zhǔn)語言。眾多的RDBMS中實(shí)現(xiàn)了SQL語言,當(dāng)然各數(shù)據(jù)庫廠家在各自的RDBMS中的SQL語言與ISO頒布的標(biāo)準(zhǔn)SQL語言都或多或少有些差別。SQL語言包括了對(duì)數(shù)據(jù)庫的所有操作,主要可分為三個(gè)部分?jǐn)?shù)據(jù)定義語言(DDLDataDefinitionLangua
2、ge),用以定義數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括定義基本表、索引和視圖。數(shù)據(jù)操縱語言(DMLDataManipulationLanguage),用以對(duì)數(shù)據(jù)的查詢和更新,數(shù)據(jù)更新操作中包括插入、刪除和修改三種操作。數(shù)據(jù)控制語言(DCLDataControlLanguage),用以對(duì)基本表和視圖的授權(quán)即指定具體用戶可使用哪些表或視圖。SQL語言的特點(diǎn):(1) 語言風(fēng)格統(tǒng)一:盡管有不同功能的DDL、DML和DCL,但語言風(fēng)格相同,再SQL語言既能獨(dú)立地使用于聯(lián)機(jī)交互方式,又能嵌入到高級(jí)程序設(shè)計(jì)語言如C、C+等語言中,而且在兩種不同地使用方式下的SQL語句的語法基本一樣;(2) 面向集合的操作方式:因?yàn)镽DB的
3、結(jié)構(gòu)是關(guān)系,即記錄的集合,也是SQL語言的操作對(duì)象,所以操作速度比其他語言快;(3) 語言簡(jiǎn)潔,易學(xué)易用:盡管SQL的功能很強(qiáng),但它的核心語句只有九條(CREATE、ALTER、DROP、SELECTINSERT、DELETE、UPDATE、GRANT和REVOKE),加之它的結(jié)構(gòu)化特性,非常便于學(xué)習(xí)和使用。2 .在Access中使用SQL語句SQL語句的輸入:打開一個(gè)已有的Access數(shù)據(jù)庫,在“對(duì)象”欄中選中“查詢”,在“列表框”內(nèi)選定“在設(shè)計(jì)視圖中創(chuàng)建查詢”命令,雙擊之,或按“設(shè)計(jì)”按鈕,系統(tǒng)將顯示一個(gè)查詢窗口和一個(gè)“顯示表”對(duì)話框,關(guān)閉“顯示表”對(duì)話框,在不關(guān)閉查詢窗口的情況下,Acc
4、ess窗口的菜單欄上才會(huì)出現(xiàn)查詢菜單,該查詢菜單下有“SQL特定查詢”子菜單、視圖菜單中會(huì)出現(xiàn)“SQL視圖”命令、同時(shí)原來顯示在菜單欄下的數(shù)據(jù)庫工具欄自動(dòng)被切換為“查詢?cè)O(shè)計(jì)”工具欄,其中的左上角會(huì)有一個(gè)視圖切換按鈕。無論用上述三種方法的哪一種,均可在Access窗口中顯示供輸入SQL語句的“查詢”窗口。注意:在該窗口中只能輸入一條SQL語句!但可分行輸入,系統(tǒng)會(huì)把分號(hào)“;作為命令的結(jié)束標(biāo)志,但一般在輸入命令時(shí),不必人為地輸入分號(hào)。當(dāng)需要分行輸入時(shí),不能把Sql語言的關(guān)鍵字或字段名分在不同行。Sql語句中所有的標(biāo)點(diǎn)符號(hào)和運(yùn)算符號(hào)均為ASCII字符!每?jī)蓚€(gè)單詞之間至少要有一個(gè)空格或有必要的逗號(hào)!S
5、QL語句的保存:關(guān)閉"SQL語句輸入”窗口,命名為一個(gè)查詢SQL語句的執(zhí)行:在“SQL語句輸入”窗口中輸入一個(gè)完整的SQL語句后,按“查詢?cè)O(shè)計(jì)工具欄”中的運(yùn)行按鈕“!”,或在數(shù)據(jù)庫窗口中雙擊已被保存的相應(yīng)查詢。SQLI.數(shù)據(jù)表定義語句前面我們是使用Access窗口中菜單命令的方式建立數(shù)據(jù)表的。現(xiàn)在,我們開始學(xué)習(xí)用語言來創(chuàng)建數(shù)據(jù)表。首先打開圖書管理數(shù)據(jù)庫文件“圖書管理.mdb”,且按上述方法打開輸入SQL語句的“查詢”窗口。輸入Sql語句:CREATETABLE圖書(總編號(hào)CHAR(6)PRIMARYKEY,分類號(hào)CHAR(6)NOTNULL,書名CHAR(20),作者CHAR(15)
6、,出版社CHAR(10),單價(jià)SINGLE)運(yùn)行該Sql語句后,在數(shù)據(jù)庫窗口中打開數(shù)據(jù)表圖書的設(shè)計(jì)視圖,可核對(duì)一下用Sql語句和用窗口菜單命令建表的區(qū)別。說明:在MicrosoftAccess2000中的Sql語言是通過MicrosoftJet數(shù)據(jù)庫引擎來支持Sql語言的,而MicrosoftJetSQL語言與標(biāo)準(zhǔn)SQL語言有若干的差別。MicrosoftJetSQL語言所支持的SQL數(shù)據(jù)類型CHAR(n)orTEXT(n)MEMO文本型備注型INTorINTEGER數(shù)字(長(zhǎng)整型)介于2147,483,648至U2,147,483,647的長(zhǎng)整型數(shù)SMALLINTorSHORT數(shù)字(短整型)介
7、于T2,768至U32,767的短整型數(shù)BYTEREALorSINGLEFLOATorDOUBLEDATEorTIMECURRENCYorMONEYCOUNTER(n)YESNOD若字段名中有空格或除了漢字外的非字母性字符,來,如FirstName數(shù)字(字節(jié))介于0到255的整型數(shù)數(shù)字(單精度)默認(rèn)有四位小數(shù)數(shù)字(雙精度)日期/時(shí)間型貨幣型自動(dòng)編號(hào)型(從整數(shù)n起)是/臺(tái)型則應(yīng)用一對(duì)方括號(hào)將字段名括起D數(shù)據(jù)完整性約束條件:它是用來定義數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系和數(shù)據(jù)表內(nèi)的字段應(yīng)滿足的條件的,當(dāng)用戶操作數(shù)據(jù)表時(shí),DBMS會(huì)自動(dòng)檢查操作是否違背已定義的完整性約束條件。同一個(gè)完整性約束條件如果涉及到一個(gè)表中
8、的多個(gè)字段,則該約束條件必須定義在表級(jí),否則,一般定義在字段級(jí)(即列級(jí))。完整性約束條件主要有下列三種:實(shí)體完整性約束條件:NOTNULL不能為空,NULL的含義是無意義,不能與空字符或數(shù)值0等同UNIQUE唯一性,即表中各記錄的該字段值各不相同PRIMARYKEY主鍵或稱主碼(同時(shí),具有上兩約束條件)參照完整性約束條件:REFERENCES表名(字段名)該字段所取值應(yīng)來自指定表內(nèi)的指定字段的值用戶定義完整性約束條件:不能在Access的Sql中使用,只能在表的設(shè)計(jì)視圖中的字段有效性規(guī)則中輸入ISNULLNOTBetween表達(dá)式And表達(dá)式如:Between0And100可取0至U100之間
9、的數(shù)NOTIn(表達(dá)式列表)如:In(法律,'經(jīng)濟(jì)法,刑事司法)僅可取表達(dá)式列表中所指定的有限個(gè)值由此可見,(1)創(chuàng)建基表的Sql命令格式為:CREATETABLE表名(字段名數(shù)據(jù)類型字段級(jí)完整性約束條件,字段名數(shù)據(jù)類型字段級(jí)完整性約束條件,表級(jí)完整性約束條件)類似地,我們可以根據(jù)讀者(借書證號(hào)字符型長(zhǎng)度為5非空每位讀者的借書證號(hào)均不相同姓名字符型長(zhǎng)度為4性別字符型長(zhǎng)度為1部門字符型長(zhǎng)度為5職稱字符型長(zhǎng)度為5)建立讀者數(shù)據(jù)表。請(qǐng)同學(xué)們自己完成O那么對(duì)于流通數(shù)據(jù)表流通(總編號(hào)字符型長(zhǎng)度為6主鍵,且來自于圖書實(shí)體借書證號(hào)字符型長(zhǎng)度為5非空,且來自于讀者實(shí)體借閱日期日期型)還是請(qǐng)同學(xué)們自己完
10、成。注意:由于流通表的建立要參照?qǐng)D書表與讀者表,所以必須待圖書表與讀者表建立后方可建立流通表。同理,必須在主表中有記錄后,才能在相關(guān)表中輸入記錄。我們現(xiàn)在在圖書表中開始輸入記錄:INSERTINTO圖書VALUES(100001','ww001','橘子紅了','鄭重王要','人民文學(xué)出版社',31.8)INSERTINTO圖書(總編號(hào),分類號(hào),書名,單價(jià))VALUES('100002','ww002','追憶似水年華(上),68)可見,插入一條具體錄的Sql語句為:INSERTIN
11、TO表名(字段名列表)VALUES(字段值列表)當(dāng)插入的記錄中有部分字段值不確定時(shí),可以僅輸入部分字段值,但必須指明相應(yīng)的字段名,而未指明的字段值為NULL。故上述第二條記錄插入命令等價(jià)于INSERTINTO圖書VALUES('100002','ww002','追憶似水年華(上)',NULL,NULL,68)請(qǐng)?jiān)佥斎胍韵氯龡l命令I(lǐng)NSERTINTO圖書VALUES('100002','ww003','追憶似水年華(下)',NULL,NULL,68)INSERTINTO圖書VALUES(NULL,
12、39;ww003','追憶似水年華(下)',NULL,NULL,68)INSERTINTO流通VALUES('100002','90002',#02/14/98#)看看能不能執(zhí)行上述三條命令,若不能,請(qǐng)說明原因。通過上述對(duì)創(chuàng)建表命令和插入記錄命令的學(xué)習(xí),我們可以大致了解到Sql命令的基本格式為:命令動(dòng)詞子句列表其中命令動(dòng)詞是指明該命令的功能,子句可以有多種,如:標(biāo)識(shí)子句TABLE表名、INDEX表名、VIEW視圖名目標(biāo)子句INTO表名字段(值)列表子句字段名列表|VALUES(字段值列表)完整性約束條件子句,以后,還將學(xué)到更多的子句。(2
13、)修改表結(jié)構(gòu)增加字段:ALTERTABLE表名ADD字段名數(shù)據(jù)類型字段級(jí)完整性約束條件習(xí),字段名數(shù)據(jù)類型字段級(jí)完整性約束條件,修改字段類型:ALTERTABLE表名ALTER字段名數(shù)據(jù)類型,字段名數(shù)據(jù)類型字段級(jí)完整性約束條件,刪除字段:ALTERTABLE表名DROP字段名列表注意:在對(duì)數(shù)據(jù)表的結(jié)構(gòu)進(jìn)行修改前,必須關(guān)閉該表!請(qǐng)同學(xué)自己先在讀者數(shù)據(jù)表中增加兩個(gè)字段,字段名依次為聯(lián)系電話和年齡,數(shù)據(jù)類型分別為長(zhǎng)整型和短整型,并觀察每個(gè)命令執(zhí)行后的效果。再將聯(lián)系電話字段的數(shù)據(jù)類型改為有8個(gè)字符的字符型,年齡字段的類型改為字節(jié)型數(shù)字。再刪除聯(lián)系電話字段(3)刪除表DROPTABLE表名列表II .數(shù)據(jù)
14、更新前面,我們已經(jīng)學(xué)會(huì)了在數(shù)據(jù)表中插入記錄的命令,對(duì)數(shù)據(jù)的更新還包括修改數(shù)據(jù),刪除記錄等操作。注意:若我們對(duì)已經(jīng)同其它數(shù)據(jù)表建立了關(guān)聯(lián)關(guān)系的數(shù)據(jù)表中的記錄的關(guān)聯(lián)字段值進(jìn)行更新(修改或刪除)時(shí),為了保持?jǐn)?shù)據(jù)的一致性(即相容性),系統(tǒng)一般會(huì)拒絕此操作。那么,若要堅(jiān)持更新,又能保持保持?jǐn)?shù)據(jù)的一致(即被關(guān)聯(lián)數(shù)據(jù)表中的外碼一一關(guān)聯(lián)字段一一的值也會(huì)自動(dòng)更新,則必須要預(yù)先在關(guān)系(即關(guān)聯(lián))窗口中,編輯關(guān)系具有級(jí)聯(lián)更新和級(jí)聯(lián)刪除功能(參考7.3.1用ACCESS建立關(guān)系型數(shù)據(jù)庫的步驟5)(1)修改表記錄UPDATE表名SET字段名=表達(dá)式,字段名=表達(dá)式,WHERE條件可啊呀,不好。我在輸入讀者數(shù)據(jù)表時(shí),不小心
15、將所有讀者的姓名都輸入反了,即應(yīng)該是男的,卻輸入了女,而應(yīng)該是女的,反到輸入了男。我曾經(jīng)先后用下面兩條命令UPDATE讀者SETT生另='女'WHERET生另='男'UPDATE讀者SETT生另='男'WHERET生另='女命令倒沒錯(cuò),但,結(jié)果卻不符合本意。請(qǐng)同學(xué)幫幫忙:再在讀者數(shù)據(jù)表中輸入每位讀者的年齡,并添加下列三記錄(不一定要用SQL語句)。99001、張三郎、null、null、null、6299002、黃阿三、null、null、null、6699002、黃海、null、null、null、66在讀者表中將姓黃且單名的同志的年齡
16、減1歲UPDATE讀者SET年齡=年齡一1WHERE姓名LIKE'黃?在讀者表中將姓名中帶有“三”字的同志的性別設(shè)為男UPDATE讀者SET性另1='男'WHERE姓名LIKE'*三*'在讀者表中將年齡為62或66的職工的部門字段值設(shè)為“退休”UPDATE讀者SET部門='退休'WHERE年齡IN(62,66)通過上述練習(xí),我們對(duì)Sql命令中的條件子句應(yīng)該有了基本的理解條件子句格式為:WHERE條件表達(dá)式,其中條件表達(dá)式經(jīng)運(yùn)算后得到真(YES)或假(NO)而條件表達(dá)式常為:字段名條件運(yùn)算符表達(dá)式條件運(yùn)算符一般有比較運(yùn)算符:=、V、=、=、
17、!=、NOTBETWEEN表達(dá)式1AND表達(dá)式2:判斷字段值是否落在指定的范圍(表達(dá)式1,表達(dá)式2)中。NOTIN(表達(dá)式列表):判斷字段值是否等于指定的若干個(gè)值之一。NOTLIKE可帶有通配符的字符串表達(dá)式:判斷字符型字段值中是否與指定的字符串相匹配,通配符有?表示一個(gè)非空字符、*表示0個(gè)或連續(xù)的任意多個(gè)字符。(例如,Like"Smith"),或用通配符來指定前兩個(gè)字符為Sm的字符串(例如,Like"Sm*")。NOTISNULL:判斷字段值是否為空。(2)刪除表記錄DELETEFROM表名WHERE條件那么,刪除讀者數(shù)據(jù)表中職稱字段值為空的記錄的Sq
18、l命令應(yīng)該如何書寫?III .數(shù)據(jù)查詢數(shù)據(jù)查詢是用戶根據(jù)需要從數(shù)據(jù)庫中提取所需的數(shù)據(jù),這也是建立數(shù)據(jù)庫的最主要目的之一,所以,數(shù)據(jù)查詢是對(duì)數(shù)據(jù)庫最為常規(guī)的操作。數(shù)據(jù)查詢語句的一般格式為:SELECTALL|DISTINCT目標(biāo)表達(dá)式表FROM基表名|視圖名列表WHERE記錄過濾條件表達(dá)式GROUPBY列名表HAVING組過濾條件表達(dá)式ORDERBY歹名ASC|DESC兒歹名ASC|DESC,對(duì)此,暫時(shí)我們先不作過多的解釋,為了便于在操作中理解SELECT語句的使用,這里我們先建立了一個(gè)名為“選課管理.1mdb的數(shù)據(jù)庫,且具中已侶卜列一午數(shù)據(jù)表:數(shù)據(jù)表S,結(jié)構(gòu)為Sno(學(xué)號(hào))文本型6個(gè)字符主鍵S
19、name(姓名)文本型4個(gè)字符不能為空值Ssex(性另1J)文本型1個(gè)字符Sage(年齡)字節(jié)型Sdept(專業(yè))文本型10個(gè)字符數(shù)據(jù)表C,結(jié)構(gòu)為Cno(課程號(hào))文本型2個(gè)字符主鍵Cname(課程名)文本型8個(gè)字符非空且各不相同Cpno(先修課程號(hào)一)文本型2個(gè)字符參照本表中的CnoCtime(課時(shí)數(shù))字節(jié)型Ccredit(學(xué)分)字節(jié)型數(shù)據(jù)表SC,結(jié)構(gòu)為Sno(學(xué)號(hào))文本型6個(gè)字符非空且參照S表中的SnoCno(課程號(hào))文本型2個(gè)字符非空且參照C表中的CnoGrade(成績(jī))字節(jié)型其中Sno和Cno一起為主鍵其中,建立表C的命令為:CREATETABLEC(Cnochar(2)PrimaryK
20、ey,Cnamechar(8)notnullunique,Cpnochar(2)referencesC(Cno),Ctimebyte,Ccreditbyte)建立表SC的命令為:CREATETABLESC(Snotext(6)notnullreferencesS(Sno),Cnotext(2)notnullreferencesC(Cno),Gradebyte,PrimaryKey(Sno,Cno)注:當(dāng)表中要用多個(gè)屬性值組成主鍵時(shí),必須在建表語句中單獨(dú)成為一個(gè)子句,如:PrimaryKey(Sno,Cno),即它是數(shù)據(jù)表級(jí)的完整性條件!注:若數(shù)據(jù)表中有字段有對(duì)本表中另一字段的參照完整性約束條件
21、,則要注意記錄輸入的先后順序,被參照的記錄要先輸入,參照其它記錄的記錄要后輸入!且三個(gè)數(shù)據(jù)表中已有若干條記錄表S為:SnoSnameSsexSageSdept99001張敏男20MA99002劉豐男21IS99003王翔男19CS99004陸逸女18MA99005李明女23CS表C為:CnoCnameCpnoCtimeCcredit2高等數(shù)學(xué)10866數(shù)據(jù)處理5437C語百67235數(shù)據(jù)結(jié)構(gòu)77241數(shù)據(jù)庫57243信息系統(tǒng)15434操作系統(tǒng)6724表SC為:SnoCnoGradeSnoCnoGrade9900128299001669990017949900265099002763990037
22、56990035519900317599004787990045949900438899004192現(xiàn)在開始數(shù)據(jù)查詢,先在一個(gè)表中進(jìn)行數(shù)據(jù)的查詢單表查詢1 .在S表中查詢?nèi)w學(xué)生的全部屬性命令為:SELECT*FROMS2 .在S表中查詢?nèi)w學(xué)生的姓名、學(xué)號(hào)和年齡命令為:SELECTSname,Sno,SageFROMS3 .在S表中查詢?nèi)w學(xué)生的姓名、性別和專業(yè)命令為:4 .在S表中查詢?nèi)w學(xué)生的姓名和出生的年份命令為:SELECTSname,2005-SageFROMS或用命令:SELECTSname,2005-SageASBirhYearFROMS兩者在效果上有何區(qū)別?5 .在C表中查詢
23、每門課程的1個(gè)學(xué)分相當(dāng)?shù)恼n時(shí)數(shù)命令為:6 .在SC表中查詢有學(xué)生選修的課程號(hào)命令為:SELECTCnoFROMSC若用命令:SELECTDISTINCTCnoFROMSC兩者在效果上有何區(qū)別?從而理解單詞DISTINCT的作用7 .在SC表中查詢出參加選修的學(xué)生的學(xué)號(hào)(一位學(xué)生可能選修多門課程)??捎妹睿? .在S表中查詢所有年齡不超過20歲的女生的姓名和專業(yè)命令為:SELECTSname,SdeptFROMSWhereSage<=20andSsex='女'9 .在C表中查詢課時(shí)數(shù)大于90和小于60的課程名和課時(shí)數(shù)可用命令:SELECTCname,CtimeFROMCW
24、hereCtimeNOTBETWEEN60AND90還可用命令:SELECTCname,CtimeFROMCWhere10 .在SC表中查詢選修了1號(hào)或5號(hào)或7號(hào)課程的學(xué)生的學(xué)號(hào)及選修的課程號(hào)??捎妹睿篠ELECTSnoFROMSCWhereCnoin(1','5','7)還可用命令:11 .在SC表中查詢1號(hào)或5號(hào)或7號(hào)課程均不選修的學(xué)生的學(xué)號(hào)可否用命令:SELECTSnoFROMSCWhereCnoNOTin(10,'5','7')12 .在S表中查詢姓劉的學(xué)生的記錄可用命令:SELECTFROMWhereSnamelike
25、劉*'13 .在S表中查詢姓名的第二個(gè)字為明的學(xué)生的姓名和性別可用命令:SELECTFROMWhereSnamelike?明*'14 .在C表中查詢課程名以“數(shù)據(jù)”開頭的記錄可用命令:15 .在C表中查詢課程名中有“數(shù)”字的課程號(hào)、課程名和課時(shí)數(shù)可用命令:16 .在C表中查詢課程名中第三、四個(gè)漢字為“系統(tǒng)”的課程號(hào)、課程名和課時(shí)數(shù)可用命令:17 .在C表中查詢所有課程的記錄,并以學(xué)分由少到多的升序排序可用命令:SELECT*FROMCORDERBYCcreditDESC注:查詢所得的臨時(shí)表在顯示時(shí),還可將臨時(shí)表中的記錄按某些屬性的值排序,升序的關(guān)鍵字為ASC(默認(rèn)值,即可省略)
26、,降序的關(guān)鍵字為DESC18 .在C表中查詢課程名中有“數(shù)”字的課程名、課時(shí)數(shù)和學(xué)分,并按學(xué)分升序、若學(xué)分相同則按課時(shí)數(shù)降序排序可用命令:集函數(shù)與分組查詢1 .在SC表中查詢出選修的總?cè)舜?、最高分、最低分和平均分??捎妹睿篠ELECTCOUNT(*),MAX(Grade),MIN(Grade),AVG(Grade)FROMSC2 .查詢出選修7號(hào)課程的總分、最高分、最低分和平均分。可用命令:3 .查詢出選修各門課程的課程號(hào)、學(xué)生數(shù)、最高分、最低分和平均分??捎妹睿篠ELECTCno,COUNT(*),MAX(Grade),MIN(Grade),AVG(Grade)FROMSCGROUPBY
27、Cno若查詢的結(jié)果表達(dá)式或條件中有集函數(shù)(又稱統(tǒng)計(jì)函數(shù)),則一般要對(duì)記錄按某個(gè)屬性值進(jìn)行分組,屬性值相同的記錄歸并在同一個(gè)組中,屬性值不同的記錄在不同的組,分組后,查詢操作的對(duì)象就不再是一條一條的記錄,而是一個(gè)個(gè)的組了!對(duì)于組,可以取到屬性值相同的字段(一般是分組依據(jù)字段),而對(duì)于屬性值不同的字段只能用集函數(shù)取到統(tǒng)計(jì)結(jié)果而再也無法取到具體一條記錄的字段值!4 .查詢出選修各門課程的課程號(hào)、學(xué)生數(shù)、最高分、最低分和平均分,并按課程號(hào)降序排列??捎妹睿? .查詢出至少選修滿3門課程的學(xué)生的學(xué)號(hào)??捎妹睿? .查詢出每門選修課成績(jī)均及格的學(xué)生的學(xué)號(hào)及平均成績(jī)??捎妹睿? .查詢出既有不及格成績(jī)
28、又有及格成績(jī)的學(xué)生的學(xué)號(hào)??捎妹睿? .查詢出至少有2門課程不及格的學(xué)生的學(xué)號(hào)??捎妹睿哼B接查詢(1)什么時(shí)候需要用連接查詢當(dāng)查詢的結(jié)果表達(dá)式,或查詢的記錄過濾條件中包含有來自兩個(gè)或兩個(gè)以上數(shù)據(jù)表的字段,這時(shí),必須打開多個(gè)數(shù)據(jù)表,表與表之間必定會(huì)根據(jù)一定的連接條件進(jìn)行連接,在內(nèi)存中形成一個(gè)臨時(shí)表(又稱中間表),以后的所有查詢操作都是針對(duì)這個(gè)臨時(shí)表進(jìn)行的。(2)系統(tǒng)執(zhí)行內(nèi)連接的過程若同時(shí)打開表S和SC,且有連接條件S.Sno=SC.SNO,即命令中有源子句如下:FROMSINNERJOINSCONS.Sno=SC.SNO,則系統(tǒng)對(duì)兩表的連接如下圖SnoSnameSsexSageSdept99
29、001張敏男20MA99002劉豐男21IS99003王翔男19CS99004陸逸一女18MASnoCnoGrade9900128299001669990017949900265099002763990031759900355199004787990041929900438899004594S.SnoS.SnameS.SsexS.SageS.SdeptSC.SnoSC.CnoSC.Grade99001張敏男20MA9900128299001張敏男20MA9900166999001張敏男20MA9900179499002劉豐男21IS9900265099002劉豐男21IS99002763990
30、03王翔男19CS9900317599003王翔男19CS9900355199004陸逸女18MA9900478799004陸逸女18MA9900419299004陸逸女18MA9900438899004陸逸女18MA99004594(3)系統(tǒng)執(zhí)行查詢命令的過程若是多表查詢,則首先根據(jù)連接條件進(jìn)行連接形成一個(gè)中間表;若有記錄的過濾條件,則先對(duì)記錄進(jìn)行過濾(又稱篩選);若查詢的結(jié)果表達(dá)式或條件中有集函數(shù)(又稱統(tǒng)計(jì)函數(shù)),則一般要再對(duì)記錄按某個(gè)屬性值進(jìn)行分組;若有組過濾條件,則對(duì)組進(jìn)行過濾,只有滿足組過濾條件的組才會(huì)在最后的查詢目標(biāo)中生成一條記錄; 根據(jù)查詢的目標(biāo)表達(dá)式生成查詢目標(biāo)表中的一條條記錄; 若有排序要求,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司教師節(jié)員工活動(dòng)方案
- 公司組織健身活動(dòng)方案
- 公司生活會(huì)活動(dòng)方案
- 2025年英語四級(jí)考試試題及答案
- 2025年中小學(xué)教育改革與進(jìn)展試題及答案
- 2025年文化歷史研究生入學(xué)考試試題及答案
- 2025年文物保護(hù)工程師資格考試試卷及答案
- 2025年數(shù)字經(jīng)濟(jì)時(shí)代的人才培養(yǎng)與發(fā)展試題及答案
- 2025年外語聽說能力與實(shí)踐考試題及答案
- 2025年人才招聘與選拔能力測(cè)試卷及答案
- 電力拖動(dòng)自動(dòng)控制系統(tǒng)-運(yùn)動(dòng)控制系統(tǒng)期末試卷附答案共6套
- 智慧樹知到《海洋文明》2019期末考試答案
- FIDIC設(shè)計(jì)采購(gòu)施工合同條件銀皮書
- 2022年吉林省中考化學(xué)試卷和答案
- 中央空調(diào)主機(jī)采購(gòu)安裝及售后服務(wù)方案 (投標(biāo)技術(shù)方案)
- 壓床機(jī)構(gòu)設(shè)計(jì)課程設(shè)計(jì)說明書-機(jī)械原理課程設(shè)計(jì)
- 公司職員員工宿舍安全衛(wèi)生檢查表
- starion電熱能手術(shù)系統(tǒng)(熱能刀)產(chǎn)品簡(jiǎn)介制作課件
- DB6112∕T 0001-2019 西咸新區(qū)中深層無干擾地?zé)峁嵯到y(tǒng)應(yīng)用技術(shù)導(dǎo)則
- 國(guó)家開放大學(xué)《生活方式與常見疾病預(yù)防》形考任務(wù)1-4參考答案
- 項(xiàng)目監(jiān)理機(jī)構(gòu)人員配置標(biāo)準(zhǔn)試行
評(píng)論
0/150
提交評(píng)論