SQL語句的基本語法_第1頁
SQL語句的基本語法_第2頁
SQL語句的基本語法_第3頁
SQL語句的基本語法_第4頁
SQL語句的基本語法_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、SQL語句句的基本語語法一.SELLECT語語句的完整整語法為:SELEECTAALL|DDISTIINCT|DISTTINCTTROW|TOP*|ttalbee.*|tablle.ffieldd1ASS aliias1,ttablee.fiield22AS aliaas2,FROOM taableeexpreessioon,INN extternaaldattabasseWWHEREEGGROUPP BYHAAVINGGOORDERR BYWIITH OOWNERRACCEESS OOPTIOON說明明:用中括括號()括起來來的部分表表示是可選選的,用大大括號()括起起來的部分分是表示必必須

2、從中選選擇其中的的一個。1 FROOM子句FFROM子子句指定了了SELEECT語句句中字段的的來源。FFROM子子句后面是是包含一個個或多個的的表達(dá)式(由逗號分分開),其其中的表達(dá)達(dá)式可為單單一表名稱稱、已保存存的查詢或或由 INNNER JOINN、LEFFT JOOIN 或或 RIGGHT JJOIN 得到的復(fù)復(fù)合結(jié)果。如果表或或查詢存儲儲在外部數(shù)數(shù)據(jù)庫,在在IN 子子句之后指指明其完整整路徑。例例:下列SSQL語句句返回所有有有定單的的客戶:SSELECCT OrrderIID,Cuustommer.ccustoomerIIDFROOM Orrderss CusstomeersWHHE

3、RE Ordeers.CCustoomerIID=Cuustommers.CusttomeeersIDD2 ALLL、DISSTINCCT、DIISTINNCTROOW、TOOP謂詞(1) AALL 返返回滿足SSQL語句句條件的所所有記錄。如果沒有有指明這個個謂詞,默默認(rèn)為ALLL。例:SELEECT AALL FFirsttNamee,LasstNammeFROOM Emmployyees(2) DDISTIINCT 如果有多多個記錄的的選擇字段段的數(shù)據(jù)相相同,只返返回一個。(3) DISTTINCTTROW 如果有重重復(fù)的記錄錄,只返回回一個(44) TOOP顯示查查詢頭尾若若干記錄。也

4、可返回回記錄的百百分比,這這是要用 TOP N PEERCENNT子句(其其中N 表表示百分比比)例:返返回5%定定貨額最大大的定單SSELECCT TOOP 5 PERCCENT*FROMM OOrderr DettailssORDDER BBY UnnitPrrice*Quanntityy*(1-Disccountt) DEESC3 用 AAS 子句句為字段取取別名如果果想為返回回的列取一一個新的標(biāo)標(biāo)題,或者者,經(jīng)過對對字段的計計算或總結(jié)結(jié)之后,產(chǎn)產(chǎn)生了一個個新的值,希希望把它放放到一個新新的列里顯顯示,則用用AS保留留。例:返返回FirrstNaame字段段取別名為為NickkNamee

5、SELEECT FFirsttNamee AS NickkNamee ,LaastNaame ,CityyFROMM Empployeees例:返回新的的一列顯示示庫存價值值SELEECT PProduuctNaame ,UnittPricce ,UUnitssInSttock ,UniitPriice*UUnitssInSttock AS vvalueeInSttockFFROM Prodductss二 .WHHERE 子句指定定查詢條件件1 比較運運算符比較較運算符 含義= 等于 大于= 大于等等于= 小于等于于 不不等于! 不大于于!#11/1/996# AAND OOrderrDate

6、e#96-1-1#也可以表表示為:WWHEREE OrdderDaateDDatevvaluee(1/1/966)使用 NNOT 表表達(dá)式求反反。例:查查看96年年1月1日日以后的定定單WHEERE NNot OOrderrDateeQuaantitty另一種種方法是用用 Miccrosoof JEET SQQL 獨有有的 JNNNER JOINN語法:FRROM ttablee1 INNNER JOINN tabble2OON taable11.fieeld1 compparission tablle2.ffieldd2其中ccompaarisiion 就就是前面WWHEREE子句用到到的比

7、較運運算符。SSELECCT FiirstNName,lasttNamee,OrdderIDD,CusstomeerID,OrdeerDatteFROOM EmmployyeesIINNERR JOIIN Orrderss ON Emplloyeees.EmmployyeeIDD=Ordders.EmplloyeeeID注意意:INNNER JJOIN不不能連接MMemo OLE Objeect SSinglle Dooublee 數(shù)據(jù)類類型字段。在一個JJOIN語語句中連接接多個ONN子句語法法:SELLECT fielldsFRROM ttablee1 INNNER JOINN tabbl

8、e2OON taable11.fieeld1 comppopr tablle2.ffieldd1 ANNDON tablle1.ffieldd2 coompoppr taable22.fieeld2 ORONN tabble1.fielld3 ccompoopr ttablee2.fiield33也可以SEELECTT fieeldsFFROM tablle1 IINNERR JOIIN(taable22 INNNER JJOIN ( tablle3IINNERR JOEER ( ttableexINNNER JOINNON tablle1.ffieldd1 coompoppr taable2

9、2.fieeld1OON taable11.fieeld2 comppopr tablle2.ffieldd2ON tablle1.ffieldd3 coompoppr taable22.fieeld3外外部連接返返回更多記記錄,在結(jié)結(jié)果中保留留不匹配的的記錄,不不管存不存存在滿足條條件的記錄錄都要返回回另一側(cè)的的所有記錄錄。FROOM taable LEFFT|RIIGHTJOINN tabble2OON taable11.fieeld1ccompaarisiion ttablee.fieeld2用用左連接來來建立外部部連接,在在表達(dá)式的的左邊的表表會顯示其其所有的數(shù)數(shù)據(jù)例:不不管有沒有有定

10、貨量,返返回所有商商品SELLECT ProdductNName ,OrdderIDDFROMM ProoducttsLEFFT JOOIN OOrderrs ONN Prooductts.PrrducttsID=Ordeers.PProduuctIDD右連接與與左連接的的差別在于于:不管左左側(cè)表里有有沒有匹配配的記錄,它它都從左側(cè)側(cè)表中返回回所有記錄錄。例:如如果想了解解客戶的信信息,并統(tǒng)統(tǒng)計各個地地區(qū)的客戶戶分布,這這時可以用用一個右連連接,即使使某個地區(qū)區(qū)沒有客戶戶,也要返返回客戶信信息??罩抵挡粫嗷セテヅ洌煽梢酝ㄟ^外外連接才能能測試被連連接的某個個表的字段段是否有空空值。SEELE

11、CTT *FRROM ttalbee1LEFFT JOOIN ttablee2 ONN tabble1.a=taable22.c1 連接查查詢中使用用Iif函函數(shù)實現(xiàn)以以0值顯示示空值Iiif表達(dá)式式: Iiif(IssNulll(Amoount,0,Ammout)例:無論論定貨大于于或小于¥50,都都要返回一一個標(biāo)志。Iif(Amoount50,?Bigg ordder?,?Smaall oorderr?)五. 分組組和總結(jié)查查詢結(jié)果在在SQL的的語法里,GGROUPP BY和和HAVIING子句句用來對數(shù)數(shù)據(jù)進(jìn)行匯匯總。GRROUP BY子句句指明了按按照哪幾個個字段來分分組,而將將記錄分

12、組組后,用HHAVINNG子句過過濾這些記記錄。GRROUP BY 子子句的語法法SELEECT ffidlddlisttFROMM tabbleWHHERE critteriaaGROOUP BBY grroupffielddlistt HAAVINGG grooupcrriterria注:Miicrossoft Jet數(shù)數(shù)據(jù)庫 JJet 不不能對備注注或OLEE對象字段段分組。GGROUPP BY字字段中的NNull值值以備分組組但是不能能被省略。在任何SSQL合計計函數(shù)中不不計算Nuull值。GROUUP BYY子句后最最多可以帶帶有十個字字段,排序序優(yōu)先級按按從左到右右的順序排排列。例

13、:在WAA地區(qū)的的雇員表中中按頭銜分分組后,找找出具有同同等頭銜的的雇員數(shù)目目大于1人人的所有頭頭銜。SEELECTT Tittle ,Counnt(Tiitle) as TotaalFROOM EmmployyeesWWHEREE Reggion = WWAGRROUP BY TTitleeHAVIING CCountt(Tittle)1JETT SQLL 中的聚聚積函數(shù)聚聚集函數(shù) 意義SUUM ( ) 求和和AVG ( ) 平均值CCOUNTT ( ) 表達(dá)式式中記錄的的數(shù)目COOUNT (* ) 計算記記錄的數(shù)目目MAX 最大值MMIN 最最小值VAAR 方差差STDEEV 標(biāo)準(zhǔn)準(zhǔn)誤差F

14、IIRST 第一個值值LASTT 最后一一個值六. 用PParammeterrs聲明創(chuàng)創(chuàng)建參數(shù)查查詢Parrametters聲聲明的語法法:PARRAMETTERS namee dattatyppe,nname dataatypee, 其中中namee 是參數(shù)數(shù)的標(biāo)志符符,可以通通過標(biāo)志符符引用參數(shù)數(shù).Dattatyppe說明參參數(shù)的數(shù)據(jù)據(jù)類型.使使用時要把把PARAAMETEERS 聲聲明置于任任何其他語語句之前.例:PARRAMETTERSLow pricce CCurreency,Begginniing ddatedataatimeeSELEECT OOrderrID ,OrdeerAm

15、oountFFROM OrdeersWHHERE OrdeerAMoountloww priiceAAND OOrderrDatee=BBeginnningg datte七. 功能能查詢所謂謂功能查詢詢,實際上上是一種操操作查詢,它可以對對數(shù)據(jù)庫進(jìn)進(jìn)行快速高高效的操作作.它以選選擇查詢?yōu)闉槟康?挑挑選出符合合條件的數(shù)數(shù)據(jù),再對對數(shù)據(jù)進(jìn)行行批處理.功能查詢詢包括更新新查詢,刪刪除查詢,添加查詢詢,和生成成表查詢.1 更新查查詢UPDDATE子子句可以同同時更改一一個或多個個表中的數(shù)數(shù)據(jù).它也也可以同時時更改多個個字段的值值.更新查查詢語法:UPDAATE 表表名SETT 新值WWHEREE 準(zhǔn)則

16、例例:英國客客戶的定貨貨量增加55%,貨運運量增加33%UPDDATE OEDEERSSEET OrrderAAmounnt = OrdeerAmoount *1.11Freiight = Frreighht*1.03WHHERE ShippCounntry = UUK2 刪除查查詢DELLETE子子句可以使使用戶刪除除大量的過過時的或冗冗于的數(shù)據(jù)據(jù).注:刪刪除查詢的的對象是整整個記錄.DELEETE子句句的語法:DELEETE 表名.*FROOM 來源源表WHEERE 準(zhǔn)準(zhǔn)則例: 要刪除所所有94年年前的定單單DELEETE *FROMM OrddersWWHEREE OrdderDaata

17、#94-11-1#3 追加查查詢INSSERT子子句可以將將一個或一一組記錄追追加到一個個或多個表表的尾部.INTOO 子句指指定接受新新記錄的表表valuueS 關(guān)關(guān)鍵字指定定新記錄所所包含的數(shù)數(shù)據(jù)值.IINSERRT 子句句的語法:INSEETR IINTO 目的表或或查詢(字字段1,字字段2,)vallueS(數(shù)值1,數(shù)值2,)例:增加一個個客戶INNSERTT INTTO Emmployyees(FirsstNamme,LaastNaame,ttitlee)vallueS(Harrry,Wasshinggton,Trraineee)4 生成表表查詢可以以一次性地地把所有滿滿足條件的的記

18、錄拷貝貝到一張新新表中.通通常制作記記錄的備份份或副本或或作為報表表的基礎(chǔ).SELEECT IINTO子子句用來創(chuàng)創(chuàng)建生成表表查詢語法法:SELLECT 字段1,字段2,INTTO 新表表IN 外部數(shù)據(jù)據(jù)庫FRROM 來來源數(shù)據(jù)庫庫WHERRE 準(zhǔn)則則例:為定定單制作一一個存檔備備份SELLECT *INTTO OrrderssArchhiveFFROM Ordeers八. 聯(lián)合合查詢UNNION運運算可以把把多個查詢詢的結(jié)果合合并到一個個結(jié)果集里里顯示.UUNIONN運算的一一般語法:表查查詢1 UUNIONN ALLL查詢詢2 UNNION 例:返返回巴西所所有供給商商和客戶的的名字和城城

19、市SELLECT ComppanyNName,CityyFROMM SuppplieersWHHERE Counntry = BBraziilUNNIONSSELECCT CoompannyNamme,CiityFRROM CCustoomerssWHERRE Coountrry = Braazil注:缺省的的情況下,UNIOON子句不不返回重復(fù)復(fù)的記錄.如果想顯顯示所有記記錄,可以以加ALLL選項UNNION運運算要求查查詢具有相相同數(shù)目的的字段.但但是,字段段數(shù)據(jù)類型型不必相同同.每一個個查詢參數(shù)數(shù)中可以使使用GROOUP BBY 子句句 或 HHAVINNG 子句句進(jìn)行分組組.要想以以指

20、定的順順序來顯示示返回的數(shù)數(shù)據(jù),可以以在最后一一個查詢的的尾部使用用OREEER BYY子句.九. 交叉叉查詢交叉叉查詢可以以對數(shù)據(jù)進(jìn)進(jìn)行總和,平均,計計數(shù)或其他他總和計算算法的計算算,這些數(shù)數(shù)據(jù)通過兩兩種信息進(jìn)進(jìn)行分組:一個顯示示在表的左左部,另一一個顯示在在表的頂部部.Miccrosooft JJet SSQL 用用TRANNSFROOM語句創(chuàng)創(chuàng)建交叉表表查詢語法法:TRAANSFOORM aaggfuunctiionSEELECTT 語句GGROUPP BY 子句PIIVOT pivootfieeldIIN(vaalue11 ,vvaluee2,) Agggfounnctioon指SQQ

21、L聚積函函數(shù),SEELECTT語句選擇擇作為標(biāo)題題的的字段段,GROOUP BBY 分組組說明:Piivotffieldd 在查詢詢結(jié)果集中中創(chuàng)建列標(biāo)標(biāo)題時用的的字段或表表達(dá)式,用用可選的IIN子句限限制它的取取值.vaalue代代表創(chuàng)建列列標(biāo)題的固固定值.例例:顯示在在19966年里每一一季度每一一位員工所所接的定單單的數(shù)目:TRANNSFORRM Coount(OrdeerID)SELEECT FFirsttNamee&LasttNamee AS FulllNameeFROMM Empployeees IINNERR JOIIN OrrderssON EEmplooyeess.Empplo

22、yeeeID = Orrderss.EmpployeeeIDWWHEREE DatteParrt(“yyyyy”,OrdderDaate)= 19996GGROUPP BY FirsstNamme&LasstNammeORDDER BBY FiirstNName&LLastNNamePPOVOTT DatteParrt(“qq”,OrrderDDate)&季度度十 .子查查詢子查詢詢可以理解解為 套查查詢.子查查詢是一個個SELEECT語句句.1 表達(dá)式式的值與子子查詢返回回的單一值值做比較語語法:表達(dá)達(dá)式 coomparrisioon AANY|AALL|SSOME(子查詢詢)說明:ANY和和SOMEE謂詞是同同義詞,與與比較運算算符(=,=)一起使使用.返回回一個布爾爾值Truue或Faalse.ANY的的意思是,表達(dá)式與與子查詢返返回的一系系列的值逐逐一比

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論