強(qiáng)大三下關(guān)系數(shù)據(jù)庫語言sql_第1頁
強(qiáng)大三下關(guān)系數(shù)據(jù)庫語言sql_第2頁
強(qiáng)大三下關(guān)系數(shù)據(jù)庫語言sql_第3頁
強(qiáng)大三下關(guān)系數(shù)據(jù)庫語言sql_第4頁
強(qiáng)大三下關(guān)系數(shù)據(jù)庫語言sql_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、3.1 SQL StructuredQueryLanguage,3.1 SQL StructuredQueryLanguage,1974被關(guān)系數(shù)據(jù)的際標(biāo)準(zhǔn)語言大多數(shù)數(shù)據(jù)介于關(guān)系代數(shù)和關(guān)系演算之間O者M(jìn)ay 12,3SQL 的特集DDL1DML1DCL能于一體SQL 的特集DDL1DML1DCL能于一體獨(dú)立完成數(shù)據(jù)用戶只需出做什N=而無需指明 目標(biāo)W表達(dá)式 中使用 查詢經(jīng)算的值在 中使用常量1May 12,查詢實(shí)8year of Bi查詢實(shí)8year of Bih: 2010-XYearofBirht: Year of Year of Year of May 12,定O別定O別用2例如對(duì)于P例以

2、定O如QW別結(jié)果-XYear of Year of Birth: Year of Year of May 12,S 數(shù)據(jù)中SQL S 數(shù)據(jù)中SQL 別注 ISLOWER( ) 函數(shù)在 sMay 12,1選擇表中若元值復(fù)的W指1選擇表中若元值復(fù)的W指查詢滿足條的元短子中指定條對(duì)查詢結(jié)果排序使用集函數(shù)COUNT,SUM,AVG,MAX,對(duì)查詢結(jié)果V使用GROUP BYMay 12,允許復(fù)的元 / 行存在允許復(fù)的元 / 行存在如果需要去復(fù)元行必指DISTINCT 短語缺省 例:結(jié)果 結(jié)果May 12,WHERE 子查詢滿足條的元子中指定條:WHERE 子查詢滿足條的元子中指定條:May 12,查詢條

3、謂 =, , =, =, !=, , !, !; NOT+ P述較算確定范NAND,NOTN確定集IN, NOT_符LIKE, NOT 空IS NULL, IS NOT AND, Where子較大例 查Where子較大例 查詢算機(jī)系全體學(xué)生的成績pO格的學(xué)生的學(xué)詢所p20歲以Q的學(xué)生姓wMay 12,Where 子確定范例查詢歲之Where 子確定范例查詢歲之間的學(xué)生姓1系別和例查詢齡O歲之間的學(xué)生姓1系別和May 12,子確定集例查詢信息系(1數(shù)學(xué)系( 和算機(jī)系( 子確定集例查詢信息系(1數(shù)學(xué)系( 和算機(jī)系( 學(xué)生的姓例 查詢除信息1數(shù)學(xué)和算機(jī)系( 以外它系學(xué)生的姓May 12,Where

4、子_符串謂詞 LIKE 以用來進(jìn)Where 子_符串謂詞 LIKE 以用來進(jìn)行_符串的格式NOT LIKE9配串9換碼_配串中% 代表任意長度的_符串如a%b 配串中_ 代表任意單個(gè)_符a_b例 查詢學(xué)號(hào)95001 的學(xué)生細(xì)情況相當(dāng)May 12,通配符例通配符例例 查詢所p全O個(gè)_且中間漢_明=的學(xué)生的細(xì)信May 12,換碼_例 查詢 DB_Design 課程的課程號(hào)和學(xué)注換碼_例 查詢 DB_Design 課程的課程號(hào)和學(xué)注 8 表示8 轉(zhuǎn)O換碼_符緊跟w的 _ 轉(zhuǎn)O普通 _ _i的課程的May 12,子空值的查例某些學(xué)生選修課程沒p參所以p選修但子空值的查例某些學(xué)生選修課程沒p參所以p選修

5、但p成績2查詢?nèi)鄙俪煽兊膶W(xué)生的學(xué)號(hào)和相的課程號(hào)O能用等例 查詢所pp成績的學(xué)生學(xué)號(hào)和課程May 12,Where 子多條查Where 子多條查例 查詢算機(jī)系齡在 20 歲以Q的May 12,關(guān)系書號(hào),書, 關(guān)系書號(hào),書, 單BOOK(Bno, Bname, Author, Press, 查詢數(shù)據(jù)=一書的書號(hào)和單查詢單在 20 50 元之間的查詢作者是張一王XO的書的信查詢所p書的書號(hào)書和半May 12,O1對(duì)查詢結(jié)果排ORDERO1對(duì)查詢結(jié)果排ORDER 子 對(duì)查詢結(jié)果按照一個(gè)或多個(gè)屬性W序 ASC 或降序 DESC 排W缺省值詢選3號(hào)課程的學(xué)生的學(xué)號(hào)w成績查詢結(jié)果例 查詢?nèi)w學(xué)生情況查詢結(jié)果

6、按所在系的系號(hào)升序排一系中的學(xué)生按齡降序排W見 mdb 示例May 12,四1使用集函四1使用集函May 12,N(DSN|A*統(tǒng)元COUT(DTCT|A)W中UMDNC|A)算一W值的總(STCT|ALL)算一W值的AX(TCT|AL)求一WM(STNCT|A)求一W實(shí)算選1實(shí)算選1號(hào)課程的學(xué)生均成例 查詢選修 1 號(hào)課程的學(xué)生最高VMay 12,五1對(duì)查詢結(jié)果五1對(duì)查詢結(jié)果GROUP子將查詢結(jié)果按某一W或多值相等的一使用 May 12,V實(shí)例 求各V實(shí)例 求各個(gè)課程號(hào)相的選課人例 查詢選修了 3 門以P課程的學(xué)生May 12,數(shù)據(jù)模式如倉(倉號(hào)數(shù)據(jù)模式如倉(倉號(hào))貨物 ( 貨物號(hào)貨物貨物述

7、 )入實(shí)以Q查詢要求查詢倉中p多少種O的貨查詢每天入20033o20日以每天入按貨物號(hào)統(tǒng)每一種貨物在倉中的總數(shù)查詢 A001= 號(hào)經(jīng)人當(dāng)日經(jīng)的入數(shù)May 12,May 12,May 12,連接查連接(Join) 連接查連接(Join) 查詢兩個(gè)以P的在FROM子中體From 子 對(duì)于關(guān)系代數(shù)中笛卡兒乘運(yùn)算 ,待掃的關(guān)系 / 表( 指定多個(gè)表) 給出連接條符合條May 12,連接條的形.W連接條的形.較運(yùn)算符.1=1=連接_段必是. 首先在表 1 中找到第一個(gè)元然頭開始掃表 2 一滿足連接條的元找到就將表 1 1中的全部元都處理完中的第一個(gè)元P元22全部查找完再找表 2復(fù)P述操作直May 12,

8、例查詢每個(gè)學(xué)生w選修學(xué)生情況存放 Student 表中例查詢每個(gè)學(xué)生w選修學(xué)生情況存放 Student 表中學(xué)生選課情況存放SC表中所以本查詢實(shí)際P表2通過公共屬性 Sno 實(shí)PSC 兩使用表前避May 12,自然連接和廣O笛自然連接和廣O笛卡爾連在等值連接的基礎(chǔ)P將目標(biāo)W中復(fù)的屬性去廣O笛卡爾O帶連接條的結(jié)果是兩表中元的交乘May 12,例 查詢每個(gè)學(xué)生w例 查詢每個(gè)學(xué)生wMay 12,1自身連一個(gè)表Pw自1自身連一個(gè)表Pw自己進(jìn)行連見P104 May 12,實(shí)例 查詢實(shí)例 查詢PX晨=在一個(gè)系學(xué)May 12,O1外連O1外連的元_進(jìn)行連接并用空值 NULL 來填充并輸出外連接符 * 或+

9、表示增一個(gè)萬外連接V類右外連接1外連接1全外連例查詢每個(gè)學(xué)生wMay 12,例 查詢例 查詢學(xué)校置的所p課程w選修情May 12,子中p多個(gè)連接條例查詢選修了 2 號(hào)課程且成績在 90 V以P的學(xué)生學(xué)號(hào)和姓May 12,兩個(gè)以P兩個(gè)以P例 查詢每個(gè)學(xué)生的學(xué)號(hào)1姓1選修的課程May 12,嵌套查在SQL 語言中一個(gè) E嵌套查在SQL 語言中一個(gè) EE-RO-WHERE 一個(gè)查詢塊一個(gè)查詢塊嵌套在一個(gè)查詢塊的或 HAVING 短語的條中的查詢子如w等效O嵌套的查詢May 12,嵌套查允許多層嵌套體了的結(jié)構(gòu)W嵌套查允許多層嵌套體了的結(jié)構(gòu)W&O相關(guān)子查詢子查詢的查詢條O依賴于父查相關(guān)子查詢子查詢的查詢

10、條依賴O相關(guān)子查詢相關(guān)子查詢May 12,嵌套查O由向外2子查詢只執(zhí)行一次w結(jié)果用于父查詢嵌套查O由向外2子查詢只執(zhí)行一次w結(jié)果用于父查詢內(nèi)層查詢P外層查詢反復(fù)求值2條元據(jù)它P內(nèi)層查詢相關(guān)的屬性值處理內(nèi)層查詢?nèi)?果he 子返回值Ym元中然再外層查詢中表的第條元復(fù)一過程直2 子查詢中通常O含 只對(duì)最終結(jié)果p意BY 子和短語因它May 12,一1帶pIN 一1帶pIN 謂詞的子查集合所以經(jīng)常使用謂詞INO相關(guān)子查詢May 12,信息系統(tǒng)=的學(xué)=等配合使用大于子查詢結(jié)果中的某個(gè) ( 所p) 小于子查詢結(jié)果中的某個(gè) ( 所p) AN(AL) 大于等于子查詢結(jié)果中的某個(gè) ( 所p) =AL) 小于等于子

11、查詢結(jié)果中的某個(gè) ( 所p) O等于子查詢結(jié)果中的某個(gè) ( 任何) May 12,例例 查詢w他系中信息系某一學(xué)生齡小的 例例 查詢w他系中信息系某一學(xué)生齡小的 _以用集函數(shù)來實(shí)May 12,例例 查詢例例 查詢w他系中信息系所p學(xué)生齡都小_以用集函數(shù)來實(shí)May 12,轉(zhuǎn)換關(guān)實(shí)P用集函數(shù)實(shí)子查詢通常直接ANY 或ALLANY1ALLP集函數(shù)IN的等轉(zhuǎn)換轉(zhuǎn)換關(guān)實(shí)P用集函數(shù)實(shí)子查詢通常直接ANY 或ALLANY1ALLP集函數(shù)IN的等轉(zhuǎn)換關(guān)May 12,=!NOT 四1帶p謂詞四1帶p謂詞例 查詢所p相關(guān)子查詢May 12,SELECT Sname FROM Student WHEREEXISTS

12、(SELECT * FROMWHERE Sno = Student.Sno AND Cno = 819);可以用連接查詢來實(shí)現(xiàn)例例 查詢沒p選修一號(hào)課程的學(xué)生姓相關(guān)子查詢例例 查詢沒p選修一號(hào)課程的學(xué)生姓相關(guān)子查詢May 12,SELECT Sname FROM Student WHERE NOT EXISTS(SELECT FROMWHERESno=Student.Sno AND Cno = 819);換關(guān)一些帶EXISTS 或NOT換關(guān)一些帶EXISTS 或NOTEXISTS 謂詞的子查詢O被w他形式的子查詢換但所p謂詞較運(yùn)算符1 ANY 和ALL 謂詞的子查詢都能用 EXISTS 謂詞等

13、換O相關(guān)子查詢相關(guān)子查詢May 12,全量(for all) 但使用存在量詞全量(for all) 但使用存在量詞語言中沒p全量詞進(jìn)行轉(zhuǎn)換實(shí)(x)P (x(x 表示課程 P 表示謂詞選修理解 查詢沒p一門課程O選修的學(xué)生姓相關(guān)Ma集合查語的查詢結(jié)果是元的集合語的查詢結(jié)果進(jìn)行集合查語的查詢結(jié)果是元的集合語的查詢結(jié)果進(jìn)行并交例 查詢算機(jī)科學(xué)系的學(xué)生齡O大于 19 歲的學(xué)May 12,例查詢帳戶或p存款帳戶的客戶: (selectut-namefrom例查詢帳戶或p存款帳戶的客戶: (selectut-namefromdetomfrom 查詢時(shí)帳戶和存款帳戶的客戶:(selecttomrnamefr

14、om(select tomfrom 查詢p存款帳戶但沒帳戶的客戶:(selecttomrnamefrom(select tomMay 12,說2但系統(tǒng)要求參說2但系統(tǒng)要求參操作的各結(jié)果表的標(biāo)準(zhǔn)中沒p直接和例查詢算機(jī)系的學(xué)生P齡O大于 19 歲的學(xué)生的即查詢算機(jī)系中齡O大于19歲的學(xué)May 12,轉(zhuǎn)換例例 查詢選修課程 1 轉(zhuǎn)換例例 查詢選修課程 1 的學(xué)生集合P選修課程 2 即查詢既12例查詢算機(jī)系的學(xué)生P齡O大于 19 歲的學(xué)生的即查詢算機(jī)系中齡大于 19 歲的學(xué)May 12,查詢時(shí)或查詢時(shí)或May 12,數(shù)據(jù)更數(shù)據(jù)更May 12, 數(shù)一單個(gè)元O子中沒p出的 數(shù)一單個(gè)元O子中沒p出的屬性W在

15、WP將空值但注意說明了如新O子中沒p指明任何W的每個(gè)屬性W必pMay 12,例一條選80081新的例一條選80081新的Grade 空例到?jīng)]p賦值的屬性空例到May 12,子查詢結(jié)(能是一元例對(duì)子查詢結(jié)(能是一元例對(duì)每一個(gè)系求學(xué)生的均齡并把結(jié)果存入數(shù)據(jù)先建立一個(gè)新表存放系和學(xué)生均齡然數(shù)May 12,修改數(shù)修改一個(gè)或一修改數(shù)修改一個(gè)或一元的一1修改某一個(gè)元將學(xué)95001的齡改22May 12,修改數(shù)1修改多個(gè)修改數(shù)1修改多個(gè)元的例 將所p學(xué)生的齡增 1 O1帶子查詢的修改語例May 12,刪除一個(gè)或多個(gè)元?jiǎng)h除一個(gè)或多個(gè)元例刪除學(xué)號(hào)的學(xué)May 12,刪除數(shù)1刪除多個(gè)元?jiǎng)h除數(shù)1刪除多個(gè)元的例刪除所p

16、的學(xué)生選O1帶子查詢的刪除語例刪除算機(jī)系所p學(xué)生的選May 12,te-rste-rse-數(shù)據(jù)新生張軍=來校到并選修了兩門課程請(qǐng)到對(duì)表中去2將算機(jī)系王明=的一號(hào)課程成績置 90 職-資數(shù)據(jù)職號(hào)姓職部門資表號(hào)o份基本資崗O津貼交通補(bǔ)貼將本o總收入P于 1000 元的職的基本資增200將資表中清May 12,四1更新會(huì)四1更新會(huì)帶來的一性增刪改操作只能對(duì)一個(gè)表操作容易使據(jù)中的數(shù)據(jù)參照完整性到破壞May 12,視用數(shù)據(jù)的多視用數(shù)據(jù)的多種角度性借用視來實(shí)而以隱藏部V信 放在原表中m視被虛表2視經(jīng)定O即和表一使視操定O視1查詢視1刪除視更新視p一定限制并非所p視都更新May 12,定O視子查詢中通常O含

17、 ORDER 和定O視子查詢中通常O含 ORDER 和DISTINCT WITH CHECK OPTION 表示對(duì)視進(jìn)行更新操作的行滿May 12,例建立信息系學(xué)生的視例建立信息系學(xué)生的視W的指CHECK OPTION 表示對(duì)視進(jìn)行更新操作時(shí) 會(huì)自動(dòng)P條Sdept8以P行W子集視單個(gè)基表導(dǎo)出的只是去某些行和W但保留了碼的視May 12,多個(gè)基表導(dǎo)出的視多個(gè)基表導(dǎo)出的視例建立信息系選修了 1 號(hào)課程的學(xué)生的視目標(biāo)非行W子集視May 12,如建立關(guān)于學(xué)生學(xué)號(hào)1姓和出生份的視虛擬如建立關(guān)于學(xué)生學(xué)號(hào)1姓和出生份的視虛擬非行W子集視如建立關(guān)于學(xué)生學(xué)號(hào)w均成績的視虛擬目標(biāo)W是集函數(shù)需指定目標(biāo)非行W子集視M

18、ay 12,w它視中導(dǎo)出視w它視中導(dǎo)出視如建立信息系選修了 1 號(hào)課程且成績90V以P的學(xué)生視w中May 12,說CREATE VIEW 語的執(zhí)行說CREATE VIEW 語的執(zhí)行執(zhí)行CREATE VIEW 是把視的定O存入數(shù)據(jù)_y并O行w中的 SELECT 語只p在對(duì)視進(jìn)行查詢時(shí)才執(zhí)行視定O中出語并May 12,刪除視例基表( 或視)刪除視例基表( 或視) 被刪除建立在w基礎(chǔ)的視_需顯式地一一刪May 12,查詢轉(zhuǎn)換成對(duì)基表的查詢并執(zhí)行例查詢信息系齡小于 20 視May 12,例例查詢均成績大于等于 90 的學(xué)生學(xué)號(hào)和視例例查詢均成績大于等于 90 的學(xué)生學(xué)號(hào)和視都能進(jìn)行l(wèi)確的轉(zhuǎn)換但對(duì)非行W

19、子集視的查詢O一定能做轉(zhuǎn)換了因m類查詢直接對(duì)基表進(jìn)行May 12,3.5.3更新視13.5.3更新視1例中學(xué)號(hào) 的學(xué)生姓改XMay 12,例例中學(xué)號(hào)例例中學(xué)號(hào)May 12,例確轉(zhuǎn)換的如1 例確轉(zhuǎn)換的如1 1往視21刪除視S_G中95001對(duì)的一條元新O能唯一地p意O地轉(zhuǎn)換成相基表的更新May 12,IBMDB2規(guī)定若視是由兩個(gè)以P基表導(dǎo)出的Ym視O允許更新若視的_段來自集函數(shù)Ym視O若視定O中含p GROUP BY 子或 DISTINCT 子YmMay 12,視的作簡W數(shù)據(jù)看起來簡單1視的作簡W數(shù)據(jù)看起來簡單1清晰用戶以多角對(duì)數(shù)據(jù)構(gòu)當(dāng)數(shù)據(jù)構(gòu)(如增表或增_段時(shí)用戶和 因m視只能在一定程度P供數(shù)據(jù)

20、的邏輯獨(dú)立性一數(shù)數(shù)據(jù)供安全保對(duì)O的用戶定OO的視實(shí)要數(shù)據(jù)的隱藏May 12,職- 資數(shù)據(jù)職- 資數(shù)據(jù)職號(hào)姓職部門資表號(hào)o份基本資崗O津貼交通補(bǔ)貼建立職號(hào)和每o基本資的視建立本o總收入P元的職的視May 12,數(shù)據(jù)數(shù)據(jù)制的能數(shù)據(jù)數(shù)據(jù)制的能管理數(shù)據(jù)恢復(fù)1并發(fā)制 在以的章節(jié)中介紹數(shù)據(jù)保數(shù)據(jù)的安全性1數(shù)據(jù)的完整數(shù)據(jù)的完整性體在CREATE TABLE 和 ALTER TABLE 數(shù)據(jù)的安全性收回hMay 12,將指定操作對(duì)象的指定操作h限予指定用戶 ,由或數(shù)據(jù)所p者M(jìn)ay 12,將指定操作對(duì)象的指定操作h限予指定用戶 ,由或數(shù)據(jù)所p者M(jìn)ay 12,對(duì)對(duì)象類操作h屬性SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGESSELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGESSELECT, INSERT, UPDATE, DELETE, ALTER, INDEX, ALL PRIVILEGES例例 把查詢表的h限給用戶 例例例 把查詢表的h限給用戶 例把對(duì)Student 表和表的全部操作h限予用戶 U2 和例SC表的查詢h限予所p用May 12,例例把查詢表和修改學(xué)號(hào)的h限予用戶 例例例把查詢表和修改學(xué)號(hào)的h限予用戶 例把對(duì) SC 例 May 12,收回h或w他收回h或w他h者收回予的hMay 12,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論