




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、sql查詢語句基礎(chǔ)datatrans-1500服務(wù)器是用sql server服務(wù)器作數(shù)據(jù)的底層管理,當(dāng)用 戶對datatrans-1500服務(wù)器進彳亍查詢時,服務(wù)器通過mand命 令文件以及.from檢索途徑對彖來構(gòu)造sql查詢語句,通過此sql查詢 語句來對sql server服務(wù)器發(fā)起檢索。datatrans-1500服務(wù)器的系統(tǒng)管理員,了解、掌握sql查詢語句的語法, 能更好的作好二次開發(fā)。鑒于datatrans-1500服務(wù)器系統(tǒng)管理員所作的 二次開發(fā)只與查詢語句有關(guān),本章只介紹sql查詢語句屮與select語 句有關(guān)的一些基礎(chǔ)知識,以方便廣大不熟悉sql查詢語言的datatrans-
2、1500服務(wù)器系統(tǒng)管理員。有關(guān)sql語言更詳細(xì)的知識請查閱 有關(guān)手冊。sql (struct query language)即結(jié)構(gòu)化杳詢語言,它是使用關(guān)系模型的 數(shù)據(jù)庫應(yīng)用語言,由ibm在70年代開發(fā)出來?,F(xiàn)在sql結(jié)構(gòu)化查詢語 言已經(jīng)成為一個工業(yè)標(biāo)準(zhǔn),幾乎所有的數(shù)據(jù)庫都支持它的查詢,sql server更是如此。sql server服務(wù)器中,用select語句實現(xiàn)數(shù)據(jù)庫的查詢操作。同吋, 它可以使用各種子句對查詢結(jié)果進行分組統(tǒng)計、合計、排序等操作。 select語句還可將查詢結(jié)果生成另一個表(臨時表或永久表)。select語句的語法格式為:select allidistincti selec
3、tjistinto |new_table_name>from table_namelview_name (optimizer_hints)<,table_name21 vie w_name2 (optimizer_hints).,table_name 16lview_name 16 (optimizer_hints)> where clouseigroup by clausehaving clauseorder by clausecompute clausefor browse以上格式中,“r括的項表示可選項,大寫的詞為關(guān)鍵字,小寫的詞表示 不確定的實體名稱。除第一行外,每一
4、行為一個了句,在select中了 句可以省略,但在列出時,必須按照以上順序。11.1簡單查詢語句簡單的sql查詢只包括select子句、from子句和where子句, 它們分別說明查詢列、要查詢的表和搜索條件。例如:select keys, fieldsfrom keyswhere frm inc200*a')以上select語句查詢keys表屮frm字段為poo躍的記錄的keys和 fields 字段。其查詢結(jié)果可能為:keys marc_id王德樹 0000000001賀鳴 0000000001郭宏雨 0000000002郭宏雨 0000000002(4 row(s) affect
5、ed)11select條件列表1顯示keys表中所有列的內(nèi)容select * from keys將對keys表中每個字段的值進行顯示。2按順序顯示指定列select marc_id, fileds, keys from keys在select列表中指定列名來選擇不同的列,個列z間用逗號分開,結(jié) 果的顯示順序為select列表中字段的排列順序。3更改列標(biāo)題select keys ,記錄號=marcjd from keys或 select keys, marc_id 記錄號 from keys或 select keys, marc_id as 記錄號 from keys執(zhí)行結(jié)果為:keys記錄號王
6、德樹 0000000001賀鳴 0000000001郭宏雨 0000000002郭宏雨 0000000002(4 row(s) affected)在select語句中口j以為選擇列指定列標(biāo)題,其格式為: 列標(biāo)題二列名或: 列名列標(biāo)題4刪除重復(fù)行select語句中可以使用allidistinct選項來顯示所有行(all)或 刪除重復(fù)的行(distinct),缺省為all,即不去重。在前面的例子屮將查語句換為:select distinct keys, marcjd from keys查詢結(jié)果為:keys marcjd王德樹 0000000001 賀鳴 0000000001郭宏雨 00000000
7、02(3 row(s) affected)11.1.2 from 子句from子句指定select語句查詢及與查詢相關(guān)的表或視圖。在from 子句中最多可指定16個表或視圖,它們相互之間用逗號分開,如果這些 表屬于不同的數(shù)據(jù)庫,可用'數(shù)據(jù)庫所有者名稱對象'格式加以限定。在 缺省情況下,from子句不指定數(shù)據(jù)庫名稱,查詢的數(shù)據(jù)庫為當(dāng)前數(shù)據(jù) 庫。11.1.3 where 子句select語句中的where子句用來指定查詢條件。where子句屮包含各種查詢條件,如下花運算符分類運算符意義比較運算符>>=<<= = <> !> !<大小比
8、較between. and.not between.and.innot inlikenot likeis nullnot is nullandornot在datatrans-1500服務(wù)器的檢索途徑對象配置文件中,經(jīng)常用到的條件 運算符是:列表運算符in和模式匹配符like。列表運算符in列表運算符的格式為: 表達式|not in (列表項1,列表項2,列表項3) 它要求查詢時表達式的值(不)在列表內(nèi)。例如:select keys from keys where frm in (200*a, '201 *b')表示要查詢的keys來源必須在c200廿,201w沖,即frm字段值
9、 為'200*a'或'201*b'。模式匹配符like模式匹配符not like常用于模糊查詢,它判斷列值是否與指定的字 符串格式匹配。在sql server屮可使用的匹配符有以下幾種:百分號():可匹配任意類型和t度的字符。下劃線(_):匹配單個任意字符。方括號小指定一個字符、字符串或范圍,要求所匹配對象為它們屮的 任何一個。ri:與口取值相同,但要求所匹配的對象為指定范圍以外的任何一個字 符。例如下而的語句利用通配符來查找以“王”開頭的字符串:select keys from keys where keys like '趙'查詢結(jié)果為:key
10、s趙寶山趙成和趙并林(3 row(s) affected)11.2用group by子句進行統(tǒng)計group by子句的語法格式為:group by all aggregate_free_expression,aggregate_free_expression在select語句中,group by子句和集合函數(shù)對數(shù)據(jù)庫進行分組統(tǒng) 計,在查詢結(jié)果中,每一組統(tǒng)計出一個結(jié)果。例如:select fields as keystring,count(fields) as hitcountfrom keys where(keys like 德')andfrm like '200*agroup
11、 by fields執(zhí)行的結(jié)果為:keystring hitcount李祖德1桑關(guān)德1張京德1張沖德1(4 row(s) affected) 在上面的例了中,group by t句和集合函數(shù)count按照fields字段 對keys表進行分組統(tǒng)計。集合函數(shù)count對每一組的行數(shù)進行計算, 分組的標(biāo)準(zhǔn)是group by中定義的字段fieldso11.3 into子句用查詢結(jié)果創(chuàng)建新表select語句中使用into選項可以將查詢結(jié)果寫進新表,新表結(jié)構(gòu)與 select語句選擇列表屮的字段相同。例如:select fields as keystring,count(fields) as hitcou
12、ntinto #temp/*into*/from englishbooks.keys where(keys like 魯迅)andfrm like '24_*a'and (marc_id >= *0000000001 * and marc_id <= *9999999999')group by fields通過了句into #temp sql server將select查詢結(jié)杲和count的統(tǒng)計 結(jié)果寫入臨吋表temp中,臨口寸表temp結(jié)構(gòu)包含keystring和hitcount兩 個字段。在以后用到這些信息時,就可以從temp表中讀取。11.4使用uni
13、on運算符實現(xiàn)多查詢聯(lián)合union運算符可以將兩個或兩個以上的查詢結(jié)果合并成一個結(jié)果集合 顯示。union運算符的語法格式為:查詢 1 union all查詢 n.order by 子句compute 子句查詢1的格式為:select select_listinto子句from子句where 子句group by 了句having 子句查詢n的格式為:select selectjistfrom子句where 了句group by 了句having 了句查詢1與查詢不同z處在于查詢1多了一個用來指定新表的into 了句, 通過union子句句查詢n的結(jié)果也將寫進查詢中into運算符定義的新 表中
14、。在使用union 了旬時,應(yīng)保證每個查詢語旬的選擇列表中有和同數(shù)量 的表達式,并且每個查詢選擇列表屮的對應(yīng)表達式應(yīng)具冇相同或可以自 動轉(zhuǎn)換成相同的數(shù)據(jù)類型。缺省情況下,union運算符將刪除不同查詢語句中行值相同的行,如果 要保留這些相同的行,應(yīng)使用all選項。11.5 .from文件和mand文件構(gòu)造sql查詢語彳j在datatrans-1500服務(wù)器的檢索途徑對象.from文件中的毎個section小 節(jié)都是一個用來構(gòu)造sql查詢語句的模板。而且每個小節(jié)都有一個 /*into*/, /*into*/是into子句的插入標(biāo)志。在進行多庫或多途徑查詢時, 最后只冇一個結(jié)果集,datatran
15、s-1500服務(wù)器只插入了一個into子句。 z所以為.from文件的每個section小節(jié)都加了一個/*into*/標(biāo)志,是因為 無法確定哪個小節(jié)首先被匹配,每個小節(jié)都有可能是第一個被匹配的。 而最后的結(jié)果是,只有第一個被匹配的小節(jié)中的/intow志是起作用的。要在/*into*/處插入的into運算符被定義在mand文件中的 union-into-phrase字段中。卜面一段源文件在mand中對 titlenumber結(jié)果集的定義:<recordset name=titlenumberdefinition = ".title varchar(255), _hitcount
16、intnunion-intophnise = "into #tempnsegment-phrase = "and(%segment(',%defaultsqldb%/%keys%/%recordid%,)%)hafter-union = "select top 50000 keystring, sum (hitcount) as hitnumber into %temptablename% from #temp group by keystring order by keystring drop table #temp create clustered i
17、ndex keyindex on %temptablename% (keystring)"statis = "select count(*) as totalkey , sum(hitnumber) as totalrecfrom %temptablename%"catch-key-parameter-name = "recordset,word,link,match,from,fromtitle"order-phrase = norder by keystring1'在datatrans-1500服務(wù)器中對所冇庫發(fā)起一次全途徑檢索,由
18、 mand文件和若干個.from文件構(gòu)造的sql查詢語句如下所示。/kv# kv# kv# kv# kv# kv# kv# kv#ffk/*首次檢索key + count (多檢索詞)*/select fields as keystring,count(fields) as hitcount into #temp/*into*/from englishbooks.keys where(keys like '%')and frm like '24_*a,and (marc_id >= *000000000 t and marc_id v= 9999999999)gr
19、oup by fieldsunion all/*首次檢索key + count (多檢索詞)*/select top 50000 fields as keystring,count(fields) as hitcount/*into*/from 出版社.keys where(keys like % )andfrm = '101group by fieldsunion all/ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 / f r?w rjw #7w r7w #7 «7w «7w «7w «7w «7w «7w
20、 «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7w «7wr7> rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% j/*首次檢索key + count (多檢索詞)*/select top 50000 fields as keystringcount(fields) as hitcount /*into*/ from dt 1500sqldb2.keys where(keys like %)andfrm in (200pt.)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)合同兼職合同范本
- 分包制作安裝合同范本
- 借款車位轉(zhuǎn)讓合同范本
- 代理房屋合同范本
- 2024年玉環(huán)市委辦公室選聘考試真題
- 2024年舟山市定海區(qū)人民檢察院招聘用工人員筆試真題
- 關(guān)于電纜合同范本
- 2024年玉林市第十一中學(xué)招聘高中體育頂崗教師筆試真題
- 個人經(jīng)營服務(wù)合同范本
- 借款房屋轉(zhuǎn)讓合同范本
- 2025年常熟市招聘進村人員歷年高頻重點提升(共500題)附帶答案詳解
- (主城一診)重慶市2025年高2025屆高三學(xué)業(yè)質(zhì)量調(diào)研抽測 (第一次)物理試卷(含答案)
- 2025年中國電信集團有限公司招聘筆試參考題庫含答案解析
- DB50T 393-2011 城市三維建模技術(shù)規(guī)范
- 新中式養(yǎng)生知識培訓(xùn)課件
- 《肺癌圍手術(shù)期護理》課件
- 《糖尿病足護理查房》課件
- 山東省臨沂市地圖矢量課件模板()
- 2024復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 演練活動合同范本三篇
評論
0/150
提交評論