999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SQL統(tǒng)計(jì)標(biāo)準(zhǔn)題錄的常用方法

2018-01-24 02:23:21張廣慶顧婉晴
質(zhì)量探索 2017年5期
關(guān)鍵詞:標(biāo)準(zhǔn)

張廣慶,顧婉晴,賈 欣

(1.青島市標(biāo)準(zhǔn)化研究院,青島 266071;2.遼寧工業(yè)大學(xué),錦州 121001)

1 前言

隨著互聯(lián)網(wǎng)的發(fā)展和社會(huì)各界對(duì)標(biāo)準(zhǔn)工作的日益重視,標(biāo)準(zhǔn)題錄也從專業(yè)技術(shù)機(jī)構(gòu)的獨(dú)有信息,變?yōu)榛ヂ?lián)網(wǎng)中方便獲取的大眾信息,人們通過網(wǎng)絡(luò)上的標(biāo)準(zhǔn)信息檢索系統(tǒng),查詢相關(guān)標(biāo)準(zhǔn)的題錄信息和獲取標(biāo)準(zhǔn)線索,初步滿足了人們對(duì)標(biāo)準(zhǔn)題錄的查詢需要。本文通過介紹結(jié)構(gòu)化查詢語(yǔ)言(簡(jiǎn)稱SQL)中的統(tǒng)計(jì)功能,幫助讀者進(jìn)一步掌握分析和統(tǒng)計(jì)這些標(biāo)準(zhǔn)題錄的常用方法。

標(biāo)準(zhǔn)題錄通常存放于關(guān)系型數(shù)據(jù)庫(kù)中,如Oracle、DB2、PostgreSQL、SQL Server、Access、MySQL、浪潮K-DB等,這些數(shù)據(jù)庫(kù)都使用SQL實(shí)現(xiàn)數(shù)據(jù)查詢和統(tǒng)計(jì)。表1列出了這些數(shù)據(jù)庫(kù)操作SQL的圖形化工具,借助這些工具,可以方便地使用SQL分析和統(tǒng)計(jì)標(biāo)準(zhǔn)題錄數(shù)據(jù)。本文僅以SQL Server為例介紹SQL的統(tǒng)計(jì)功能。

表1 關(guān)系型數(shù)據(jù)庫(kù)的SQL圖形化工具

2 SQL及其數(shù)據(jù)統(tǒng)計(jì)功能簡(jiǎn)介

SQL是結(jié)構(gòu)化查詢語(yǔ)言的簡(jiǎn)稱,是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),包括數(shù)據(jù)查詢、數(shù)據(jù)操作、數(shù)據(jù)控制、數(shù)據(jù)定義、事務(wù)處理、指針控制等6部分語(yǔ)言[1]。

SQL數(shù)據(jù)查詢語(yǔ)言由SELECT語(yǔ)句構(gòu)成。SELECT語(yǔ)句通常劃分為SELECT、FROM、WITH、WHERE、GROUP BY、HAVING、UNION、ORDER BY、INTO等子句,靈活運(yùn)用這些子句,可以滿足大多數(shù)的數(shù)據(jù)統(tǒng)計(jì)。

本文以標(biāo)準(zhǔn)題錄表std_title和起草單位表std_draft_unit為例,說(shuō)明SQL的統(tǒng)計(jì)功能。兩個(gè)表的字段屬性參見表2和表3[2-3]。

表2 表std_title字段屬性

表3 表std_draft_unit字段屬性

3 使用聚組函數(shù)的統(tǒng)計(jì)

SELECT語(yǔ)句使用聚組函數(shù)進(jìn)行數(shù)據(jù)統(tǒng)計(jì)的簡(jiǎn)易語(yǔ)法是:

SELECT < 聚組函數(shù) >(< 字段名 >) [, ...] FROM < 表名 > WHERE < 查詢條件 >

SELECT語(yǔ)句不使用WHERE子句時(shí),將對(duì)全部數(shù)據(jù)進(jìn)行統(tǒng)計(jì);使用WHERE子句時(shí),則僅在WHERE子句限定的范圍內(nèi)統(tǒng)計(jì)。例如輸入以下語(yǔ)句并運(yùn)行,將統(tǒng)計(jì)全部標(biāo)準(zhǔn)的總數(shù)量:

SELECT COUNT(std_no) FROM std_title

而運(yùn)行以下語(yǔ)句僅統(tǒng)計(jì)國(guó)家標(biāo)準(zhǔn)的總數(shù)量:

SELECT COUNT(std_no) FROM std_title WHERE std_kind = '國(guó)家標(biāo)準(zhǔn)'

SELECT語(yǔ)句常用的聚組函數(shù)有5種,參見表4。

表4 聚組函數(shù)

WHERE子句除WHERE關(guān)鍵字外,通常由字段名、比較運(yùn)算符、字段名(或常數(shù))組成,比較運(yùn)算符參見表5。如統(tǒng)計(jì)國(guó)家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)的總數(shù)量的語(yǔ)句是:

SELECT COUNT(std_no) FROM std_title WHERE (std_kind = '國(guó)家標(biāo)準(zhǔn)') OR (std_kind = '行業(yè)標(biāo)準(zhǔn)')

表5 WHERE子句的比較運(yùn)算符

運(yùn)算符 說(shuō)明 示例 示例說(shuō)明<= 小于等于 page_num <= 5 標(biāo)準(zhǔn)文本頁(yè)數(shù)小于等于5頁(yè)的統(tǒng)計(jì)(含5頁(yè))!=(或<>) 不等于 std_kind != '國(guó)家標(biāo)準(zhǔn)' 不是國(guó)家標(biāo)準(zhǔn)的統(tǒng)計(jì)BETWEEN... AND ... 在兩個(gè)值之間 release_year BETWEEN '2010' AND '2017'2010年至2017年發(fā)布的統(tǒng)計(jì)(含2010、2017年)IN 在集合內(nèi)的值 std_kind IN ('國(guó)家標(biāo)準(zhǔn)','行業(yè)標(biāo)準(zhǔn)') 國(guó)家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)的統(tǒng)計(jì)LIKE 字符串匹配 std_name LIKE '%食品%' 標(biāo)準(zhǔn)中文名稱含“食品”的統(tǒng)計(jì)IS NULL 空值 std_eng_name IS NULL 標(biāo)準(zhǔn)英文名為空值的統(tǒng)計(jì)NOT 條件不成立時(shí) NOT (Std_kind = '國(guó)家標(biāo)準(zhǔn)') 不是國(guó)家標(biāo)準(zhǔn)的統(tǒng)計(jì)AND 不同條件的交集 (release_year >= '2010') AND(release_year <= '2017')2010年至2017年發(fā)布的標(biāo)準(zhǔn)的統(tǒng)計(jì)(含2010、2017年)OR 不同條件的并集 (std_kind = '國(guó)家標(biāo)準(zhǔn)') OR(std_kind = '行業(yè)標(biāo)準(zhǔn)') 國(guó)家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)的統(tǒng)計(jì)

4 使用分組的統(tǒng)計(jì)

GROUP BY子句實(shí)現(xiàn)對(duì)數(shù)據(jù)的分組統(tǒng)計(jì),簡(jiǎn)易語(yǔ)法是:

SELECT <字段名>,[...] <聚組函數(shù)>(<字段名>) FROM <表名> WHERE <查詢條件> GROUP BY <字段名> [, ...]

使用GROUP BY子句時(shí)有以下特點(diǎn):GROUP BY 子句中的字段名應(yīng)當(dāng)在SELECT子句中也出現(xiàn);SELECT子句中的字段名不在GROUP BY 子句中時(shí),必須使用聚組函數(shù);聚組函數(shù)只能在SELECT子句、GROUP BY子句、HAVING子句中出現(xiàn),不能出現(xiàn)在WHERE子句中;GROUP BY子句與HAVING子句同時(shí)使用時(shí),將只給出滿足HAVING子句的統(tǒng)計(jì)數(shù)據(jù);WHERE子句、GROUP BY 子句、HAVING子句同時(shí)使用時(shí),程序執(zhí)行順序是WHERE->GROUP BY->HAVING;WHERE子句和HAVING子句都用于對(duì)查詢結(jié)果限定條件。兩者同時(shí)使用時(shí),WHERE子句的作用是在數(shù)據(jù)分組前過濾數(shù)據(jù),即先去掉不符合WHERE子句條件的數(shù)據(jù),再對(duì)查詢結(jié)果進(jìn)行分組;HAVING子句的作用是在數(shù)據(jù)分組后過濾數(shù)據(jù),即先對(duì)數(shù)據(jù)進(jìn)行分組,再去掉不符合HAING子句條件的分組數(shù)據(jù)。

示例如下:

(1)統(tǒng)計(jì)不同標(biāo)準(zhǔn)類型的數(shù)量:

(2)統(tǒng)計(jì)2016年發(fā)布的不同標(biāo)準(zhǔn)類型的數(shù)量:

SELECT std_kind,COUNT(std_no) FROM std_title WHERE release_year = '2016' GROUP BY std_kind

(3)統(tǒng)計(jì)2016年發(fā)布的數(shù)量不少于50個(gè)的不同標(biāo)準(zhǔn)類型的數(shù)量:

SELECT std_kind,COUNT(std_no) FROM std_title WHERE release_year = '2016' GROUP BY std_kind HAVING COUNT(std_no) >= 50

5 使用連接查詢的統(tǒng)計(jì)

多個(gè)表的關(guān)聯(lián)統(tǒng)計(jì)可以使用SQL的連接查詢或子查詢進(jìn)行。連接查詢的方式有內(nèi)連接、外連接和交叉連接。內(nèi)連接分為等值連接、不等連接和自然連接;外連接分為左外連接、右外連接、全外連接。自然連接和交叉連接不能用于數(shù)據(jù)統(tǒng)計(jì)。使用連接查詢時(shí),字段名前應(yīng)加表名前綴(表名或表的別名),只有該字段名在FROM子句的所有表中是唯一的,才可以不加前綴。

(1)使用等值連接查詢的統(tǒng)計(jì)

WHERE子句中的比較運(yùn)算符使用“=”號(hào)連接不同表的連接字段的查詢方式稱為等值連接查詢。如查詢某單位參與起草的所有標(biāo)準(zhǔn)的總頁(yè)數(shù)和總零售價(jià):

例5 (2013.煙臺(tái)中考)在探究“綠葉在光下制造有機(jī)物”時(shí),因受時(shí)間和條件的限制,教材為我們提供了實(shí)驗(yàn)方案,但實(shí)驗(yàn)要在認(rèn)同實(shí)驗(yàn)原理的前提下進(jìn)行,以下是某小組同學(xué)在實(shí)驗(yàn)前依次進(jìn)行的對(duì)話,請(qǐng)分析其中蘊(yùn)含的科學(xué)思維和方法。

SELECT SUM(page_num),SUM(retail_price) FROM std_title,std_draft_unit WHERE (std_title.std_no = std_draft_unit.std_no) AND (draft_unit = '某單位')

或者寫成如下語(yǔ)句:

SELECT SUM(page_num),SUM(retail_price) FROM std_title INNER JOIN std_draft_unit ON (std_title.std_no = std_draft_unit.std_no) AND (draft_unit = '某單位')

(2)使用不等連接查詢的統(tǒng)計(jì)

WHERE子句中的比較運(yùn)算符使用“>”、“>=”、“<=”、“<=”和“!= ”等符號(hào)連接不同表的連接字段的查詢方式稱為不等連接查詢。如查詢非某單位參與起草的標(biāo)準(zhǔn)的總頁(yè)數(shù)和總零售價(jià):

SELECT SUM(page_num),SUM(retail_price) FROM std_title,std_draft_unit WHERE (std_title.std_no =std_draft_unit.std_no) AND (draft_unit != '某單位')

(3)使用左外連接查詢的統(tǒng)計(jì)

使用LEFT OUTER JOIN關(guān)鍵字連接不同表的連接字段的查詢方式稱為左外連接查詢。該方式查詢的結(jié)果不但有滿足WHERE子句的查詢條件和連接條件的數(shù)據(jù),同時(shí)還有LEFT OUTER JOIN關(guān)鍵字左邊表中滿足查詢條件但不滿足連接條件的數(shù)據(jù)。如統(tǒng)計(jì)某單位參與起草的所有標(biāo)準(zhǔn)的總頁(yè)數(shù)和總零售價(jià):

SELECT SUM(page_num),SUM(retail_price) FROM std_title LEFT OUTER JOIN std_draft_unit ON (std_title.std_no =std_draft_unit.std_no) AND (draft_unit = '某單位') WHERE std_draft_unit.draft_unit = '某單位'

(4)使用右外連接查詢的統(tǒng)計(jì)

使用RIGHT OUTER JOIN關(guān)鍵字連接不同表的連接字段的查詢方式稱為右外連接查詢。該方式查詢的結(jié)果不但有滿足WHERE子句的查詢條件和連接條件的數(shù)據(jù),同時(shí)還有RIGHT OUTER JOIN關(guān)鍵字右邊表中滿足查詢條件但不滿足連接條件的數(shù)據(jù)。如統(tǒng)計(jì)某單位參與起草的所有標(biāo)準(zhǔn)的總頁(yè)數(shù)和總零售價(jià):

SELECT SUM(page_num),SUM(retail_price) FROM std_title RIGHT OUTER JOIN std_draft_unit ON (std_title.std_no =std_draft_unit.std_no) AND (draft_unit = '某單位')

從該示例可以看出,使用右外連接查詢進(jìn)行統(tǒng)計(jì)時(shí),可以不用WHERE子句再限制統(tǒng)計(jì)結(jié)果。

(5)使用全外連接查詢的統(tǒng)計(jì)

使用FULL OUTER JOIN關(guān)鍵字連接不同表的查詢方式稱為全外連接查詢。該方式查詢的結(jié)果不但有滿足WHERE子句的查詢條件和連接條件的數(shù)據(jù),同時(shí)還有FULL OUTER JOIN 關(guān)鍵字左邊表和右邊表中滿足查詢條件但不滿足連接條件的數(shù)據(jù)。如統(tǒng)計(jì)某單位參與起草的所有標(biāo)準(zhǔn)的總頁(yè)數(shù)和總零售價(jià):

SELECT SUM(page_num),SUM(retail_price) FROM std_title FULL OUTER JOIN std_draft_unit ON (std_title.std_no =std_draft_unit.std_no) AND (draft_unit = '某單位') WHERE std_draft_unit.draft_unit = '某單位'

6 使用子查詢的統(tǒng)計(jì)

包含在WHERE子句中的SELECT語(yǔ)句稱為子查詢。SELECT語(yǔ)句使用子查詢進(jìn)行數(shù)據(jù)統(tǒng)計(jì)的簡(jiǎn)易語(yǔ)法有三種:

(1)IN方式:

SELECT <聚組函數(shù)>(<字段名 >) [, ...] FROM <表名 > WHERE <字段名> [NOT] IN (子查詢)

(2)ALL方式:

SELECT <聚組函數(shù)>(<字段名>) [, ...] FROM <表名> WHERE <字段名> <比較運(yùn)算符> [ANY| ALL](子查詢)

(3)EXISTS方式:

SELECT <聚組函數(shù)>(<字段名 >) [, ...] FROM <表名 > WHERE [NOT] EXISTS (子查詢 )

包含子查詢的SQL有以下特點(diǎn):不同的關(guān)系型數(shù)據(jù)庫(kù)中子查詢的嵌套層次不同,最多可達(dá)255層;最里面的子查詢先執(zhí)行,將查詢結(jié)果返回給上一級(jí)查詢使用;子查詢方式常常可以和連接查詢互換使用,得到的查詢或統(tǒng)計(jì)結(jié)果相同;關(guān)鍵字IN 和 =ANY可以互換使用,關(guān)鍵字NOT IN 和!=ALL可以互換使用;含有IN的查詢可以換成EXISTS,但含有EXISTS的查詢則不一定能用IN代替;子查詢中一般不使用ORDER BY。

以統(tǒng)計(jì)某單位參與起草的所有標(biāo)準(zhǔn)的總頁(yè)數(shù)和總零售價(jià)為例,上述三種方式的語(yǔ)句分別是:

SELECT SUM(page_num),SUM(retail_price) FROM std_title WHERE std_no IN (SELECT std_no FROM std_draft_unit WHERE draft_unit = '某單位')

SELECT SUM(page_num),SUM(retail_price) FROM std_title WHERE std_no = ANY (SELECT std_no FROM std_draft_unit WHERE draft_unit = '某單位')

SELECT SUM(page_num),SUM(retail_price) FROM std_title WHERE EXISTS (SELECT std_no FROM std_draft_unit WHERE std_title.std_no = std_draft_unit.std_no AND draft_unit = '某單位')

子查詢中也常用到數(shù)據(jù)統(tǒng)計(jì),如起草標(biāo)準(zhǔn)頁(yè)數(shù)最多的單位名稱:

SELECT draft_unit FROM std_draft_unit WHERE std_no = (SELECT std_no FROM std_title WHERE page_num =(SELECT MAX(page_num) FROM std_title))

7 結(jié)語(yǔ)

結(jié)構(gòu)化查詢語(yǔ)言(SQL)是查詢和統(tǒng)計(jì)標(biāo)準(zhǔn)題錄數(shù)據(jù)的重要工具,熟練掌握和靈活運(yùn)用聚組函數(shù)、分組、連接查詢、子查詢等功能,可以幫助企業(yè)進(jìn)一步了解標(biāo)準(zhǔn)的整體情況,掌握不同行業(yè)標(biāo)準(zhǔn)的發(fā)展特點(diǎn),獲知本行業(yè)最新的科技動(dòng)態(tài),從而有效指導(dǎo)本企業(yè)的生產(chǎn)、經(jīng)營(yíng)和管理等工作。

[1] 石宏磊.淺談SQL語(yǔ)言的基礎(chǔ)應(yīng)用[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,(15):74.

[2] QJ 1640-1989,標(biāo)準(zhǔn)文獻(xiàn)著錄規(guī)則[S].

[3] GB/T 22373-2008,標(biāo)準(zhǔn)文獻(xiàn)元數(shù)據(jù)[S].

猜你喜歡
標(biāo)準(zhǔn)
2022 年3 月實(shí)施的工程建設(shè)標(biāo)準(zhǔn)
忠誠(chéng)的標(biāo)準(zhǔn)
標(biāo)準(zhǔn)匯編
上海建材(2019年1期)2019-04-25 06:30:48
美還是丑?
你可能還在被不靠譜的對(duì)比度標(biāo)準(zhǔn)忽悠
一家之言:新標(biāo)準(zhǔn)將解決快遞業(yè)“成長(zhǎng)中的煩惱”
專用汽車(2016年4期)2016-03-01 04:13:43
2015年9月新到標(biāo)準(zhǔn)清單
標(biāo)準(zhǔn)觀察
標(biāo)準(zhǔn)觀察
標(biāo)準(zhǔn)觀察
主站蜘蛛池模板: 试看120秒男女啪啪免费| 亚洲免费播放| 亚洲成人高清在线观看| 国产原创演绎剧情有字幕的| 国产不卡一级毛片视频| 四虎影视永久在线精品| 久久这里只有精品23| 亚洲美女高潮久久久久久久| 国产免费a级片| 亚洲国产成人综合精品2020 | 国语少妇高潮| 日韩欧美国产区| 国产探花在线视频| 天天操天天噜| 欧美亚洲欧美| 热这里只有精品国产热门精品| 色男人的天堂久久综合| 亚洲男人天堂2020| 色综合久久无码网| 美女无遮挡拍拍拍免费视频| 2020久久国产综合精品swag| 99久久亚洲综合精品TS| 精品欧美一区二区三区在线| 国产美女一级毛片| 激情综合激情| 在线观看免费国产| 欧美综合成人| 欧美性天天| 欧美精品不卡| 尤物成AV人片在线观看| 亚洲日本中文字幕乱码中文 | a毛片免费在线观看| 亚洲中文字幕av无码区| 91娇喘视频| 国产91高清视频| 2020国产精品视频| 亚洲妓女综合网995久久| 1769国产精品免费视频| 91丝袜美腿高跟国产极品老师| 国产欧美日韩免费| 久久久亚洲国产美女国产盗摄| 欧美日韩在线国产| 伊人五月丁香综合AⅤ| 2021最新国产精品网站| 国产手机在线观看| 天堂网亚洲系列亚洲系列| 亚洲精选无码久久久| 青青青视频91在线 | 成人国产精品网站在线看| 国产欧美视频综合二区| 国产精品美人久久久久久AV| 久久国产亚洲偷自| 国产欧美日韩视频怡春院| 国产精品亚洲va在线观看| 青青久视频| jizz在线观看| 亚洲福利网址| 91九色视频网| 国产精品无码久久久久AV| 无码高清专区| 72种姿势欧美久久久大黄蕉| 啦啦啦网站在线观看a毛片| 欧美日本视频在线观看| 久久综合色88| 欧美丝袜高跟鞋一区二区| 国产成人精品亚洲77美色| 97人人模人人爽人人喊小说| 综合人妻久久一区二区精品| 色网在线视频| 农村乱人伦一区二区| 中文字幕在线一区二区在线| 亚洲黄色片免费看| 中国黄色一级视频| 国产清纯在线一区二区WWW| 欧美午夜视频| 国产成人91精品| 精品国产aⅴ一区二区三区| 日本午夜三级| 凹凸国产分类在线观看| 欧美成人二区| 国产菊爆视频在线观看| 亚洲日本韩在线观看|