




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SQL語句的基基本語法一.SELECCT語句的完完整語法為:SELECCTALLL|DISTTINCT|DISTIINCTROOW|TOPP*|ttalbe.*|taable.fieldd1AS aliass1,tablee.fieeld2AAS aliias2,FROM tableeexpreessionn,IN exxternaaldataabaseWHERREGGROUP BYHAVINNGOORDER BYWITH OWNERRACCESSS OPTTION說說明:用中括括號()括起來的部部分表示是可可選的,用大大括號()括起來的的部分是表示示必須從中選選擇其中的一一個。1 FROM子
2、子句FROMM子句指定了了SELECCT語句中字字段的來源。FFROM子句句后面是包含含一個或多個個的表達式(由逗號分開開),其中的的表達式可為為單一表名稱稱、已保存的的查詢或由 INNERR JOINN、LEFTT JOINN 或 RIIGHT JJOIN 得得到的復合結結果。如果表表或查詢存儲儲在外部數據據庫,在INN 子句之后后指明其完整整路徑。例:下列SQLL語句返回所所有有定單的的客戶:SEELECT OrderrID,Cuustomeer.cusstomerrIDFROOM Ordders CCustommersWHHERE OOrderss.CusttomerIID=Cussto
3、merrs.CusstomeeersID2 ALL、DDISTINNCT、DIISTINCCTROW、TTOP謂詞(1) ALLL 返回滿滿足SQL語語句條件的所所有記錄。如如果沒有指明明這個謂詞,默默認為ALLL。例:SEELECT ALL FFirstNName,LLastNaameFROOM Empployeees(2) DISTIINCT 如如果有多個記記錄的選擇字字段的數據相相同,只返回回一個。(33) DISSTINCTTROW 如如果有重復的的記錄,只返返回一個(44) TOPP顯示查詢頭頭尾若干記錄錄。也可返回回記錄的百分分比,這是要要用 TOPP N PEERCENTT子句(
4、其中中N 表示百百分比)例:返回5%定定貨額最大的的定單SELLECT TTOP 5 PERCEENT*FRROM Orderr DetaailsOORDER BY UnnitPriice*Quuantitty*(1-Discoount) DESC3 用 AS 子句為字段段取別名如果果想為返回的的列取一個新新的標題,或或者,經過對對字段的計算算或總結之后后,產生了一一個新的值,希希望把它放到到一個新的列列里顯示,則則用AS保留留。例:返回回FirsttName字字段取別名為為NickNNameSEELECT FirsttName AS NiickNamme ,LaastNamme ,Ciity
5、FROOM Empployeees例:返回回新的一列顯顯示庫存價值值SELECCT ProoductNName ,UnitPPrice ,UnittsInSttock ,UnitPPrice*UnitssInStoock ASS valuueInSttockFRROM Prroductts二 .WHERRE 子句指指定查詢條件件1 比較運算符符比較運算符符 含義= 等于 大大于= 大于于等于= 小于等于 不等于于! 不大大于!#11/1/966# ANDD OrdeerDatee#966-1-1#也可以表示示為:WHEERE OrrderDaateDaatevallue(11/1/966)使用
6、 NOOT 表達式式求反。例:查看96年年1月1日以以后的定單WWHERE Not OOrderDDateQuanntity另另一種方法是是用 Miccrosoff JET SQL 獨獨有的 JNNNER JJOIN語法法:FROMM tablle1 INNNER JJOIN ttable22ON taable1.fieldd1 commparission ttable22.fielld2其中ccomparrisionn 就是前面面WHEREE子句用到的的比較運算符符。SELEECT FiirstNaame,laastNamme,OrdderID,CustoomerIDD,OrdeerDate
7、eFROM EmplooyeesIINNER JOIN Orderrs ON Emplooyees.EmplooyeeIDD=Ordeers.EmmployeeeID注意意:INNEER JOIIN不能連接接Memo OLE OObjectt Singgle Doouble 數據類型字字段。在一個個JOIN語語句中連接多多個ON子句句語法:SELLECT ffieldssFROM tablee1 INNNER JOOIN taable2OON tabble1.ffield11 comppopr ttable22.fielld1 ANNDON ttable11.fielld2 coompoprr
8、 tablle2.fiield2 ORON tablee1.fieeld3 ccompoppr tabble2.ffield33也可以SELLECT ffieldssFROM tablee1 INNNER JOOIN(taable2 INNERR JOINN ( tablee3INNNER JOOER ( taablexINNERR JOINNON ttable11.fielld1 coompoprr tablle2.fiield1OON tabble1.ffield22 comppopr ttable22.fielld2ON tablee1.fieeld3 ccompoppr tabble2
9、.ffield33外部連接返返回更多記錄錄,在結果中中保留不匹配配的記錄,不不管存不存在在滿足條件的的記錄都要返返回另一側的的所有記錄。FROM table LEFT|RIGHTJOIN table2ON table1.field1comparision table.field2用左連接來建立外部連接,在表達式的左邊的表會顯示其所有的數據例:不管有沒有定貨量,返回所有商品SELECT ProductName ,OrderIDFROM ProductsLEFT JOIN Orders ON Products.PrductsID=Orders.ProductID右連接與左連接的差別在于:不管左側表
10、里有沒有匹配的記錄,它都從左側表中返回所有記錄。例:如果想了解客戶的信息,并統計各個地區的客戶分布,這時可以用一個右連接,即使某個地區沒有客戶,也要返回客戶信息。空值不會相互匹配,可以通過外連接才能測試被連接的某個表的字段是否有空值。SELECT *FROM talbe1LEFT JOIN table2 ON table1.a=table2.c1 連接查詢中中使用Iiff函數實現以以0值顯示空空值Iif表表達式: IIif(IssNull(Amounnt,0,AAmout)例:無論定定貨大于或小小于¥50,都都要返回一個個標志。Iiif(Ammount50,?Big oorder?,?Smaa
11、ll orrder?)五. 分組和總總結查詢結果果在SQL的的語法里,GGROUP BY和HAAVING子子句用來對數數據進行匯總總。GROUUP BY子子句指明了按按照哪幾個字字段來分組,而而將記錄分組組后,用HAAVING子子句過濾這些些記錄。GRROUP BBY 子句的的語法SELLECT ffidldllistFRROM taableWHHERE ccriterriaGRROUP BBY grooupfieeldlisst HAAVING grouppcriteeria注:Miccrosofft Jett數據庫 JJet 不能能對備注或OOLE對象字字段分組。GGROUP BY字段中中
12、的Nulll值以備分組組但是不能被被省略。在任任何SQL合合計函數中不不計算Nulll值。GRROUP BBY子句后最最多可以帶有有十個字段,排排序優先級按按從左到右的的順序排列。例:在WA地區的雇員表中按頭銜分組后,找出具有同等頭銜的雇員數目大于1人的所有頭銜。SELECT Title ,Count(Title) as TotalFROM EmployeesWHERE Region = WAGROUP BY TitleHAVING Count(Title)1JET SQL 中的聚積函數聚集函數 意義SUM ( ) 求和AVG ( ) 平均值COUNT ( ) 表達式中記錄的數目COUNT (
13、* ) 計算記錄的數目MAX 最大值MIN 最小值VAR 方差STDEV 標準誤差FIRST 第一個值LAST 最后一個值六. 用Parrameteers聲明創創建參數查詢詢Parammeterss聲明的語法法:PARAAMETERRS namme dattatypee,namme dattatypee, 其中naame 是參參數的標志符符,可以通過過標志符引用用參數.Daatatyppe說明參數數的數據類型型.使用時要要把PARAAMETERRS 聲明置置于任何其他他語句之前.例:PARAAMETERRSLoww pricce Cuurrenccy,Beeginniing daatedaat
14、atimmeSELEECT OrrderIDD ,OrdderAmoountFRROM OrrdersWWHERE OrderrAMounntloow priiceANND OrdderDatte=BBeginnning ddate七. 功能查詢詢所謂功能查查詢,實際上上是一種操作作查詢,它可可以對數據庫庫進行快速高高效的操作.它以選擇查查詢為目的,挑選出符合合條件的數據據,再對數據據進行批處理理.功能查詢詢包括更新查查詢,刪除查查詢,添加查查詢,和生成成表查詢.1 更新查詢UUPDATEE子句可以同同時更改一個個或多個表中中的數據.它它也可以同時時更改多個字字段的值.更更新查詢語法法:UPD
15、AATE 表名名SET 新新值WHERRE 準則例例:英國客戶戶的定貨量增增加5%,貨貨運量增加33%UPDAATE OEEDERSSSET OrrderAmmount = OrdderAmoount *1.1Frreightt = Frreightt*1.033WHEREE ShippCounttry = UK2 刪除查詢DDELETEE子句可以使使用戶刪除大大量的過時的的或冗于的數數據.注:刪刪除查詢的對對象是整個記記錄.DELLETE子句句的語法:DDELETEE 表名.*FROOM 來源表表WHEREE 準則例: 要刪除所所有94年前前的定單DEELETE *FROMM Ordeers
16、WHEERE OrrderDaata#994-1-11#3 追加查詢IINSERTT子句可以將將一個或一組組記錄追加到到一個或多個個表的尾部.INTO 子句指定接接受新記錄的的表valuueS 關鍵鍵字指定新記記錄所包含的的數據值.IINSERTT 子句的語語法:INSSETR IINTO 目目的表或查詢詢(字段1,字段2,)valuueS(數值值1,數值22,)例:增加一個客客戶INSEERT INNTO Emmployeees(FiirstNaame,LaastNamme,tittle)vaalueS(Harrry,WWashinngton,Traainee)4 生成表查詢詢可以一次性性地
17、把所有滿滿足條件的記記錄拷貝到一一張新表中.通常制作記記錄的備份或或副本或作為為報表的基礎礎.SELEECT INNTO子句用用來創建生成成表查詢語法法:SELEECT 字段段1,字段22,INTTO 新表IN 外部部數據庫FFROM 來來源數據庫WWHERE 準則例:為為定單制作一一個存檔備份份SELECCT *INNTO OrrdersAArchivveFROMM Ordeers八. 聯合查詢詢UNIONN運算可以把把多個查詢的的結果合并到到一個結果集集里顯示.UUNION運運算的一般語語法:表查詢1 UUNION ALL查詢2 UUNION 例:返回回巴西所有供供給商和客戶戶的名字和城城
18、市SELEECT CoompanyyName,CityFFROM SSuppliiersWHHERE CCountrry = BraziilUNIIONSELLECT CCompannyNamee,CityyFROM CustoomersWWHERE Counttry = Brazzil注:缺省的情況況下,UNIION子句不不返回重復的的記錄.如果果想顯示所有有記錄,可以以加ALL選選項UNIOON運算要求求查詢具有相相同數目的字字段.但是,字段數據類類型不必相同同.每一個查查詢參數中可可以使用GRROUP BBY 子句 或 HAVVING 子子句進行分組組.要想以指指定的順序來來顯示返回的的
19、數據,可以以在最后一個個查詢的尾部部使用OREEER BYY子句.九. 交叉查詢詢交叉查詢可可以對數據進進行總和,平平均,計數或或其他總和計計算法的計算算,這些數據據通過兩種信信息進行分組組:一個顯示示在表的左部部,另一個顯顯示在表的頂頂部.Miccrosofft Jett SQL 用TRANNSFROMM語句創建交交叉表查詢語語法:TRAANSFORRM agggfuncttionSEELECT 語句GROOUP BYY 子句PIIVOT ppivotffieldIN(vaalue1 ,vallue2,) Aggffouncttion指SSQL聚積函函數,SELLECT語句句選擇作為標標題的
20、的字段段,GROUUP BY 分組說明:Pivottfieldd 在查詢結結果集中創建建列標題時用用的字段或表表達式,用可可選的IN子子句限制它的的取值.vaalue代表表創建列標題題的固定值.例:顯示在在1996年年里每一季度度每一位員工工所接的定單單的數目:TTRANSFFORM CCount(OrderrID)SEELECT FirsttName&LaastNamme AS FullNNameFRROM Emmployeees INNNER JJOIN OOrderssON Emmployeees.EmmployeeeID = Ordeers.EmmployeeeIDWHHERE DDa
21、tePaart(“yyyyy”,OrderrDate)= 19996GRROUP BBY FirrstNamme&LastNNameORRDER BBY FirrstNamme&LastNNamePOOVOT DDatePaart(“qq”,OrdderDatte)&季季度十 .子查詢子子查詢可以理理解為 套查查詢.子查詢詢是一個SEELECT語語句.1 表達式的值值與子查詢返返回的單一值值做比較語法法:表達式 compaarisioon ANNY|ALLL|SOMEE(子查詢詢)說明:ANYY和SOMEE謂詞是同義義詞,與比較較運算符(=,=)一一起使用.返返回一個布爾爾值Truee或Falsse.ANYY的意思是,表達式與子子查詢返回的的一系列的值值逐一比較,只
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國APET包裝盒行業現狀規模及投資發展動向研究報告
- 邢臺學院《國際文化貿易(雙語)》2023-2024學年第二學期期末試卷
- 2025-2030年中國DSD酸市場投資規劃及運營前景研究報告
- 甘肅省蘭州市名校2024年中考二模數學試題含解析
- 廣東省番禺區六校教育教聯合體2023-2024學年中考數學最后一模試卷含解析
- 2025安全管理人員安全培訓考試試題帶答案(培優)
- 2025年企業員工崗前安全培訓考試試題答案完整版
- 2025年日常安全培訓考試試題【考試直接用】
- 2024-2025生產經營負責人安全培訓考試試題答案突破訓練
- 2025新入職工入職安全培訓考試試題答案新
- 2025年建筑工程裝飾合同范本
- 2025-2030中國可再生能源行業發展分析及投資前景與戰略規劃研究報告
- 院校建設可行性研究報告
- 《電力設備典型消防規程》知識培訓
- 四川省成都東部新區龍云學校2024-2025學年五年級下冊半期測試題(含答案)
- 兒童支氣管哮喘診斷與防治指南(2025版)解讀課件
- 倉管員安全培訓課件
- 紅藍黃光治療皮膚病臨床應用專家共識解讀
- 區域健康醫療大數據中心建設方案
- 易制毒基礎知識試題及答案
- 人教版(PEP)五年級下冊英語期中測試卷 (含答案無聽力試題)
評論
0/150
提交評論