數(shù)據(jù)庫(kù)常識(shí)2資料課件_第1頁(yè)
數(shù)據(jù)庫(kù)常識(shí)2資料課件_第2頁(yè)
數(shù)據(jù)庫(kù)常識(shí)2資料課件_第3頁(yè)
數(shù)據(jù)庫(kù)常識(shí)2資料課件_第4頁(yè)
數(shù)據(jù)庫(kù)常識(shí)2資料課件_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)常識(shí)2[資料]7.3關(guān)系代數(shù)(略)1完整性約束(1)實(shí)體完整性規(guī)定基本關(guān)系R的主屬性A不能取空值;學(xué)生(學(xué)號(hào),姓名,性別,年齡,….);此處學(xué)號(hào)為主屬性,不能為空。(2)參照完整性規(guī)定若F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks(R和S不一定是不同的關(guān)系)相對(duì)應(yīng),則對(duì)于R中每個(gè)元組在F上的值必須為:或者為空值,或者等于S中某個(gè)元組的主碼值。員工(員工號(hào),姓名,性別,參加工作時(shí)間,部門號(hào));部門(部門號(hào),名稱,電話,負(fù)責(zé)人);因?yàn)椤安块T號(hào)”是員工關(guān)系的外碼,與“部門”關(guān)系中的主碼“部門號(hào)”相對(duì)應(yīng),因此,“員工”關(guān)系中的“部門號(hào)”只能取:空值,或“部門”關(guān)系中“部門號(hào)”的值。稿釬蒂監(jiān)節(jié)泌卡然殲錐名氨壁冕輥懾她輸嘶橙液跺掏揭閥匙躍汗糖把躥遼數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2(3)用戶定義的完整性規(guī)定具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。比如:在“職工”關(guān)系中年齡必須在18-65歲之間。卒掌餾洽侵徑謝掄狐牟笑忻膛綴褐幾彥嘻霹辰忙卓柵率炙弓掣灑照勝蛹停數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)27.4SQL語(yǔ)言簡(jiǎn)介7.4.1SQL數(shù)據(jù)庫(kù)體系結(jié)構(gòu)SQL(StructuredQueryLanguage);SQL目前的3個(gè)標(biāo)準(zhǔn)ANSISQL:美國(guó)國(guó)家標(biāo)準(zhǔn)機(jī)構(gòu);SQL-92:即SQL2,SQL-99:即SQL3,比SQL2增加了對(duì)象關(guān)系特征和新特性。各個(gè)數(shù)據(jù)庫(kù)廠家的SQL功能也不盡相同,但都支持SQL-92,和一些擴(kuò)展功能。含卡南翱擁髓餐玲照巾疾敦達(dá)褒害萊見(jiàn)稠誓醞瘤呼篷姨逮純著抬蛛軸隴岔數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)21SQL的特點(diǎn)(1)綜合統(tǒng)一相對(duì)于非關(guān)系型數(shù)據(jù)庫(kù)而言的。非關(guān)系數(shù)據(jù)庫(kù)分為模式定義語(yǔ)言和數(shù)據(jù)操作語(yǔ)言,當(dāng)要修改模式時(shí),必須停止數(shù)據(jù)庫(kù)的運(yùn)行,轉(zhuǎn)儲(chǔ)數(shù)據(jù),修改模式后,再重新裝入數(shù)據(jù)。而SQL語(yǔ)言集數(shù)據(jù)定義與數(shù)據(jù)操縱于一體,可獨(dú)立完成數(shù)據(jù)庫(kù)生命周期的所有活動(dòng)。(2)高度非過(guò)程化只需說(shuō)明要“做什么”,無(wú)須說(shuō)明“如何做”。(3)面向集合的操作方式其操作對(duì)象或結(jié)果都是一個(gè)關(guān)系(元組或記錄的集合)。(4)兩種使用方式自含式——直接輸入SQL語(yǔ)句,由數(shù)據(jù)庫(kù)管理系統(tǒng)負(fù)責(zé)解釋執(zhí)行。嵌入式——將SQL嵌入到高級(jí)語(yǔ)言中。閑聯(lián)口痹神殼蘸憊子一蜘古海羊藍(lán)捌疑償黎慚衷霜偶點(diǎn)豌條墮毅亥衙偉登數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2(5)語(yǔ)言簡(jiǎn)潔易用只用9個(gè)動(dòng)詞完成所有功能:數(shù)據(jù)查詢:SELECT;數(shù)據(jù)定義:CREATE,DROP,ALTER;數(shù)據(jù)操縱:INSERT,UPDATE,DELETE;數(shù)據(jù)控制:GRANT,REVOKE;2SQL支持3級(jí)模式結(jié)構(gòu)視圖外模式;基本表模式;存儲(chǔ)文件內(nèi)模式。引畔服訓(xùn)昧記凱邀贏淬莫供悄溫浙碗闌拐洼溺蟻李潦籍蛤蜜比予退造刮魂數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)27.4.2SQL的基本組成(1)數(shù)據(jù)定義語(yǔ)言(DDL)主要提供定義關(guān)系模式和視圖、刪除關(guān)系和視圖、修改關(guān)系模式的命令;(2)數(shù)據(jù)操縱語(yǔ)言(DML)提供查詢、插入、刪除和修改命令;(3)嵌入式SQL和動(dòng)態(tài)SQL嵌入到某種高級(jí)語(yǔ)言(C,C++,Java等)中,進(jìn)行混合編程;(4)事務(wù)控制提供事務(wù)開始、結(jié)束和回滾等命令。(5)完整性DDL定義數(shù)據(jù)庫(kù)中必須滿足的完整性約束條件,對(duì)于破壞完整性約束條件的更新予以禁止。(6)權(quán)限管理DDL指定對(duì)關(guān)系和視圖的訪問(wèn)權(quán)限。紉轉(zhuǎn)踴父讓堯飼森曹鼎宮威課屑啼拿杠各麓瑚識(shí)班企怖噓鎢椒磐曉糖瞞捧數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)27.4.3SQL數(shù)據(jù)定義1創(chuàng)建表語(yǔ)法格式CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[列級(jí)完整性約束條件][,<列名><數(shù)據(jù)類型>[列級(jí)完整性約束條件]]…..[,<表級(jí)完整性約束條件>]);說(shuō)明列級(jí)完整性約束條件:NULL(空)、UNIQUE(取值唯一)、NOTNULLUNIQUE取值唯一且不能為空鹽笑峰損慷饋撣裂勞螟主秉蟲堤滅駱酞穴病膽傣斧延戒撇座霖征嘛茲塹接數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2例7-14建立一供應(yīng)商、零件數(shù)據(jù)庫(kù)。其中供應(yīng)商S(Sno,Sname,Status,City);零件P(Pno,Pname,Color,Weight,City);數(shù)據(jù)庫(kù)應(yīng)滿足以下要求:(1)供應(yīng)商代碼(Sno)不能為空,且唯一。供應(yīng)商名(Sname)也是唯一的。(2)零件號(hào)(Pno)不能為空,且值唯一;零件名不能為空;(3)一個(gè)供應(yīng)商可以供應(yīng)多個(gè)零件,而一件零件可由多個(gè)供應(yīng)商供應(yīng)分析供應(yīng)商、零件需要建立2個(gè)關(guān)系模式,而供應(yīng)商與零件之間的多對(duì)多關(guān)系,需要獨(dú)立建立關(guān)系模式,其聯(lián)系名稱為SP(Sno,Pno,Qty);線跡沽慮角薛眺滌咳越宜極餓啥扁憫漆槳箍么妥盛悟敢聳舶激絲靜銥痰扣數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2創(chuàng)建供應(yīng)商關(guān)系模式(表)createtableS(Snochar(5)notnullunique, Snamechar(30)unique, Statuschar(8), Citychar(20), primarykey(Sno));創(chuàng)建零件關(guān)系模式(表)createtableP(Pnochar(6), Pnamechar(30)notnull, Colorchar(8), Weightnumeric(6,2), Citychar(20), primarykey(Pno));猙茫屈績(jī)這坪匣炯霜咆刪且啊笑爐醚伐愁境珍迭冠慮濃顏邵穗字近柏陡入數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2創(chuàng)建供應(yīng)商與零件聯(lián)系模式(表)createtableSP(Snochar(5), Pnochar(6), Statuschar(8), Qtynumeric(9), primarykey(Sno,Pno), foreignkey(Sno)referencesS(Sno), foreignkey(Pno)referencesP(Pno));甫叉芬韻額鑼除操洛鉻尿啞參悶防啟臼殼屆泳僧榴澆拿勻瞪頒毫膏抒幣鹼數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)22修改表和刪除表(1)修改表語(yǔ)法格式 ALTERTABLE<表名> [ADD<新列名><數(shù)據(jù)類型>[完整性約束條件]] [DROP<字段名>[<完整性約束名>]] [MODIFY<列名><數(shù)據(jù)類型>] [ALTER<字段名>TYPE<數(shù)據(jù)類型>];例1:向供應(yīng)商表S中增加一個(gè)字段Zip(郵政編碼),數(shù)據(jù)類型為char型,長(zhǎng)度為6。altertableSaddZipchar(6);例2:將供應(yīng)商表中的Status字段修改為整型INT。altertableSmodifyStatusint;赫嫁禽恨姻耗例查脂描脯逸頂憤當(dāng)韓掩頃醉蝦段謙邁輾弱枉閉莎肅糜臨泥數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2(2)刪除表語(yǔ)法格式DROPTABLE<表名>;說(shuō)明表被刪除后,再也不是數(shù)據(jù)庫(kù)系統(tǒng)的一部分,關(guān)系中的元組也無(wú)法訪問(wèn)。(3)定義和刪除索引索引——是某個(gè)表中一列或者若干列值的集合和相應(yīng)的指向表中物理標(biāo)識(shí)這些值的數(shù)據(jù)頁(yè)的邏輯指針清單。索引分類聚集索引——指索引項(xiàng)的順序與表中記錄的物理順序一致的索引。非聚集索引。僧澎炕汐醬蠕噴泛蝶卜諒埠茲辰扛言囑驢漿芽篡秋征腮么牢坪辜不喧吠桐數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2(1)建立索引語(yǔ)法格式CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>],….]);說(shuō)明次序:ASC升序(默認(rèn));DSC降序;UNIQUE:每個(gè)索引值只對(duì)應(yīng)唯一的一條記錄;CLUSTER:建立聚集索引,即索引項(xiàng)與物理記錄順序相同的索引。例子在供應(yīng)銷售數(shù)據(jù)庫(kù)中有供應(yīng)商S,零件P,工程項(xiàng)目J,供銷情況SPJ4個(gè)關(guān)系,現(xiàn)要建立4個(gè)索引,要求:供應(yīng)商S中Sno按升序建立索引;零件P中Pno按升序建立索引;工程項(xiàng)目J中按Jno按升序建立索引;供銷情況SPJ中Sno按升序,Pno按降序,Jno按升序建立索引??ν塬@鍘村淀畏姬旬邪牙走時(shí)駭霍弟酉留洱受黃絹瞪念驟處手亥播知閏潭數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2第一步:建表createtableS(Snochar(5)notnullunique,->Snamechar(30)unique,->Statuschar(8),->Citychar(20),->primarykey(Sno));mysql>createtableP(Pnochar(6),->Pnamechar(30)notnull,->Colorchar(8),->Weightnumeric(6,2),->Citychar(20),->primarykey(Pno));mysql>createtableSP(Snochar(5),->Pnochar(6),->Statuschar(8),->Qtynumeric(9),->primarykey(Sno,Pno),->foreignkey(Sno)referencesS(Sno),->foreignkey(Pno)referencesP(Pno));俏曰鮮羽帽郵職品噬從圍摯蠱鞋霸比水罐姆毖一莆隧蟬緬簾捅亂餒迸辱樣數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2mysql>createtableJ(Jnochar(8),->Snochar(5),->Pnochar(6),->Jnamechar(20),->Qtynumeric(9),->primarykey(Jno));mysql>createtableSPJ(Jnochar(8),->Snochar(5),->Pnochar(6),->Qtynumeric(9),->primarykey(Jno,Sno,Pno),->foreignkey(Jno)referencesJ(Jno),->foreignkey(Sno)referencesS(Sno),->foreignkey(Pno)referencesP(Pno));低皖掙腿摳飾奈繕謹(jǐn)苫瘩恃算吊篙元蘿匠卜仲埃席獰挨眾測(cè)滌鴨蟹搗晤哥數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2第二步:創(chuàng)建索引createuniqueindexSSNOonS(Sno);mysql>createuniqueindexPPNOonP(Pno);mysql>createuniqueindexJJNOonJ(Jno);mysql>createuniqueindexSPJNOonSPJ(Jno,Sno,Pnodesc);(2)刪除索引語(yǔ)法格式DROPINDEX<索引名>;蘇斌凳京證花慚頒雙肇譴囑夕款村馴肖滿債有裹酮鴻訃谷戚盂斷乾敞燦椎數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)24定義、刪除、更新視圖視圖——就是從一個(gè)或多個(gè)基本表中抽取若干字段,組成的一個(gè)虛表。視圖并沒(méi)有對(duì)應(yīng)的存儲(chǔ)記錄,只是臨用時(shí),從定義視圖時(shí)指定的基本表中抽取相應(yīng)數(shù)據(jù)。例子1學(xué)生(學(xué)號(hào),姓名,性別,出生年月,所在院系);則對(duì)于只關(guān)系學(xué)生年齡的用戶可只提供學(xué)生年齡(學(xué)號(hào),姓名,出生年月)即可,則學(xué)生年齡是學(xué)生關(guān)系的一個(gè)視圖。帆氦撥嫌甘劫麥勝雪青煩徊飲絹岔裸孜援貌貢散潦恢變隴果戰(zhàn)炳楔琺帖縷數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2例子2學(xué)生(學(xué)號(hào),姓名,性別,出生年月,所在院系,宿舍號(hào));宿舍(宿舍號(hào),樓號(hào),房間號(hào),宿舍類型);則對(duì)于宿舍管理員,學(xué)生宿舍(學(xué)號(hào),姓名,樓號(hào),房間號(hào),宿舍類型);就是由學(xué)生關(guān)系和宿舍關(guān)系組成的視圖。(1)視圖的優(yōu)點(diǎn)和作用A.可使視圖集中數(shù)據(jù)、簡(jiǎn)化和定制同用戶對(duì)數(shù)據(jù)庫(kù)的不同數(shù)據(jù)要求。B.可以屏蔽數(shù)據(jù)的復(fù)雜性,用戶不必了解數(shù)據(jù)庫(kù)的結(jié)構(gòu),就可以方便地使用其中數(shù)據(jù)。C.可以使用戶只關(guān)心他感興趣的數(shù)據(jù),而那些不需要的數(shù)據(jù),將不在視圖中顯示。D.可以讓不同的用戶以不同的方式看到不同或者相同的數(shù)據(jù)集。E.視圖提供了一個(gè)簡(jiǎn)單有效的安全機(jī)制。蹤鰓盅呸胰悲務(wù)約蟄荊莆吾瞞記隘籮皮螺吱矽秘囪霍果敷鼎鞘嚴(yán)銀氓翻攝數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2(2)視圖的創(chuàng)建格式 CREATEVIEW視圖名(列表名) ASSELECT查詢子句 [WITHCHECKOPTION];說(shuō)明A.子查詢可以是任意復(fù)雜的Select語(yǔ)句,但通常不允許含有orderby和DISTINCT短語(yǔ);B.WITHCHECKOPTION表示:對(duì)視圖進(jìn)行UPDATE,INSERT,DELETE操作時(shí),保證更新、插入、或刪除的行滿足視圖定義中的謂詞條件(即子查詢中的條件表達(dá)式);C.組成視圖的屬性列或者全部指定,或全部省略。若省略屬性列名,則默認(rèn)該視圖中出現(xiàn)的字段為Select查詢子句中出現(xiàn)的目標(biāo)列名。至儒欄今尤劈扛樂(lè)寺宮扒倡跟希茹吐漲氣幌氣偶繁擇躥嚙攫砸逃何潘驢罕數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2例子7-16建立計(jì)算機(jī)系學(xué)生的視圖,并要求進(jìn)行修改、插入操作時(shí)保證該視圖只有計(jì)算機(jī)系的學(xué)生。CREATEVIEWCSSTUDENT ASSELECTSno,Sname,Sage,SSex FROMStudent WHERESD=“CS” WITHCHECKOPTION;(3)視圖的刪除語(yǔ)法格式DROPVIEW視圖名;吮秉送徊轄傾棍噶尋擬緊寥蹋遂脂麓炳面旬豫砂糙政伎徊冉兄央騰哼賢高數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)27.4.4SQL數(shù)據(jù)查詢1Select基本結(jié)構(gòu)SELECT[ALL|DISTINCT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…..FROM<表名或視圖名>[,<表名或視圖名>]…..[WHERE<條件表達(dá)式>][GROUPBY<列名>[HAVING<條件表達(dá)式>]][ORDERBY<列表>[ASC|DSC]…]說(shuō)明A.查詢子句順序:SELECT,FROM,WHRE,GROUPBY,HAVING,ORDERBY。其中SELECT,FROM子句是必須的,且having子句必須與groupby子句一起使用。B.ALL表示顯示符合條件的所有記錄,而DISTINCT表示只出現(xiàn)不重復(fù)的記錄。C.WHERE子句中可以使用的運(yùn)算符如下表。涯史撂尼固脖佯勉搪年漠客垛暗癰鞏峙臥姬宇樹猜棉煮湊質(zhì)稚垛撞茬良玄數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2分類運(yùn)算符含義集合成員運(yùn)算符IN在集合中NOTIN不在集合中字符串匹配運(yùn)算符LIKE與_和%進(jìn)行單個(gè)或多個(gè)字匹配空值比較運(yùn)算符ISNULL為空ISNOTNULL不為空算術(shù)運(yùn)算符>,>=,<,<=,=,<>邏輯運(yùn)算符AND,OR,NOTWhere子句中可以使用的運(yùn)算符各故躇枯騾醋長(zhǎng)中銅淳豁費(fèi)功片愛(ài)磕處底裂斜毒贅甲鰓拐熬廢唐豌涪抗刪數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)22簡(jiǎn)單查詢——主要是找出符合特定條件的元組,主要用到SELECT,F(xiàn)ROM和 WHERE子句。例7.17查詢學(xué)生-課程數(shù)據(jù)庫(kù)中計(jì)算機(jī)系的學(xué)號(hào),姓名及年齡。selectSno,Sname,SagefromswhereSD="CS";例7.18查詢信息系全體學(xué)生的信息select*fromswhereSD="IS";例7.19查詢學(xué)生的出生年份。SelectSno,2009-Sagefroms;煎攏優(yōu)車謹(jǐn)?shù)B(yǎng)份綸郵撣汾炬憶魂霄訴召醋拆秒贅懼旗鬧崎砍飯篷水怕栽數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)23連接查詢——若查詢涉及兩個(gè)以上的表,則稱為連接查詢。例7.20檢索選修了課程號(hào)為“C001”的學(xué)生號(hào)和學(xué)生姓名。selects.Sno,Snamefroms,scwheres.Sno=sc.Snoandsc.Cno='C001';例7.21檢索選修課程名為”MS”的學(xué)號(hào)和姓名。selects.Sno,s.Snamefroms,c,scwherec.Cname="MS"andc.Cno=sc.Cnoandsc.Sno=s.Sno;搗槐字朋鈕至櫥痕鼎鎬福盼冕哺憎輯疑但療婿扁箍癸囤去治黨姜添私嘔眾數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2例7.22檢索至少選修了課程號(hào)為“C001”和”C003”的學(xué)生的學(xué)號(hào)。selectSCY.SnofromscSCX,scSCYwhereSCX.Sno=SCY.SnoandSCX.Cno=“C001”andSCY.Cno=“C003”;4子查詢與聚集函數(shù)4.1子查詢——也稱為嵌套查詢,指一個(gè)查詢中嵌另外一個(gè)select語(yǔ)句。例7.21用嵌套查詢重新實(shí)現(xiàn)其功能。selectSno,Snamefroms->whereSnoIN->(selectSnofromsc->whereCnoIN(->selectCnofromc->whereCname="MS"));皖眠襲烽辜搜洗館氖蜀諸總長(zhǎng)累絳胯疼僑拘煙頁(yè)桂捻枷痞烯澀樹秧歧橢叉數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)24.2聚集函數(shù)SQL提供的5個(gè)預(yù)定義聚集函數(shù)聚集函數(shù)功能COUNT([DISTINCT|ALL]*)統(tǒng)計(jì)記錄個(gè)數(shù)COUNT([DISTINCT|ALL]<字段名>)統(tǒng)計(jì)一列中值的個(gè)數(shù)SUM([DISTINCT|ALL]<列名>)計(jì)算該列數(shù)值總和(全數(shù)字字符串可自動(dòng)轉(zhuǎn)化為數(shù)字)AVG([DISTINCT|ALL]<列名>)計(jì)算該列的平均值(全數(shù)字字符串可自動(dòng)轉(zhuǎn)化為數(shù)字)MAX([DISTINCT|ALL]<列名>)求該列最大值MIN([DISTINCT|ALL]<列名>)求該列最小值曾習(xí)軟虎瘸卒錢島迢廁袒蒂謅竊詐圖蔥肇愛(ài)予伍檬吊解式絆娜拜銑耕規(guī)騁數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2謂詞語(yǔ)義等價(jià)轉(zhuǎn)換關(guān)系>ANY大于子查詢中的某個(gè)值>MIN>ALL大于子查詢中的所有值>MAX<ANY小于子查詢中的某個(gè)值<MAX<ALL小于子查詢中的所有值<MIN>=ANY大于等于子查詢中的某個(gè)值>=MIN>=ALL大于等于子查詢中的所有值>=MAX<=ANY小于等于子查詢中的某個(gè)值<=MIN<=ALL小于等于子查詢中的所有值<=MAX<>ANY不等于子查詢中的某個(gè)值-----<>ALL不等于子查詢中的任何值NOTIN=ANY等于子查詢中的某個(gè)值IN=ALL等于子查詢中的所有值-------ANY,ALL謂詞含義及等價(jià)關(guān)系騾嫂剛鶴奔愈嗅忙錦盂饞香眉項(xiàng)征扭塌濁焊毛菜系紐勛攤衫姨略曾趨穩(wěn)澀數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2例7.24查詢課程C001的最高分與最低分及高低分之差。selectmax(Grade),min(Grade),max(Grade)-min(Grade)fromscwhereCno='C001';例7.25查詢其他系比計(jì)算機(jī)系IS所有學(xué)生年齡都要小的學(xué)生姓名及年齡。方法一:使用all謂詞selectSname,SagefromswhereSage<all(selectSagefromswhereSD="IS")andSD<>'IS';方法二:使用MINselectSname,SagefromswhereSage<(selectmin(Sage)fromswhereSD="IS")andSD<>'IS';勿吼踏熄籬勤嫡度鑼搓淮返萌睦芍杰羞騾曉類菊淵玉諒偽漏撿顏圣炯乃琉數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2EX:7.26查詢其他系比計(jì)算機(jī)系某一學(xué)生年齡小的學(xué)生姓名及年齡。方法一:ANY謂詞selectSname,SagefromswhereSage<ANY(selectSagefromswhereSD="CS")andSD<>'CS';方法二:MAX聚集函數(shù)selectSname,SagefromswhereSage<(selectmax(Sage)fromswhereSD="CS")andSD<>'CS';5分組查詢5.1GROUPBY子句六刑懲商皇厘華杰莊仆錘賤仰辯色恩川聲闡杭擰序蓮恢體幻欲捅瑞剎餾尋數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2GROUPBY后跟一屬性列表,表示按指定的屬性分組。聚集函數(shù)只作用在每個(gè)分組上。EX:7.27查詢學(xué)生數(shù)據(jù)庫(kù)中每個(gè)學(xué)生的平均成績(jī)。selectsc.Sno,Sname,avg(Grade)fromsc,swheres.Sno=sc.SnogroupbySno;5.2HAVING子句(1)空值(null)在任何聚集操作中被忽視。如:COUNT(*):統(tǒng)計(jì)所有元組個(gè)數(shù);而COUNT(A):則統(tǒng)計(jì)A屬性不為空的元組個(gè)數(shù);(2)NULL屬性也可以看作一個(gè)一般的值,如:selectA,AVG(B)fromR中,當(dāng)A的值為空時(shí)(即A=NULL),會(huì)統(tǒng)計(jì)A=NULL的所有元組中B的平均值?;先晨|扦曰冤了匿商賓須卑教汲姬疫奮蛆抹唇倒淪陛捅謹(jǐn)泣癢鞠率隱襯填數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2EX:7.28供應(yīng)商數(shù)據(jù)庫(kù)中S,P,J,SPJ關(guān)系,查詢某工程至少用了3家供應(yīng)商(包含3家)供應(yīng)的零件的平均數(shù)量,并按工程號(hào)的降序排列。(其中,S:供應(yīng)商表,P:零件表,J:工程項(xiàng)目,SPJ:供應(yīng)商零件工程項(xiàng)目關(guān)系表)SELECTJNO,AVG(QTY)FROMSPJGROUPBYJNOHAVINGCOUNT(DISTINCT(SNO))>2ORDERBYJNODESC;6更名運(yùn)算通過(guò)as子句來(lái)實(shí)現(xiàn)更名;as子句可出現(xiàn)在select子句中,也可出現(xiàn)在from子句中;涼皂抑岡懼握絞碘彤儀捏迅花莽脯歌跑墮枉奸獺全峨盯及葫慕頰吝碾鈔椒數(shù)據(jù)庫(kù)知識(shí)2數(shù)據(jù)庫(kù)知識(shí)2EX:7.29查詢計(jì)算機(jī)系學(xué)生的Sname和Sage,但Sname用”姓名“表示,Sage用“年齡”表示。selectSnameas姓名,Sageas年齡fromswhereSD='CS';selectSname姓名,Sage年齡fromswhereSD=‘CS’;//省略as關(guān)鍵字EX:7.30查詢計(jì)算機(jī)系選修了C0

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論