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

SQL統計標準題錄的常用方法

2018-01-24 02:23:21張廣慶顧婉晴
質量探索 2017年5期
關鍵詞:標準

張廣慶,顧婉晴,賈 欣

(1.青島市標準化研究院,青島 266071;2.遼寧工業大學,錦州 121001)

1 前言

隨著互聯網的發展和社會各界對標準工作的日益重視,標準題錄也從專業技術機構的獨有信息,變為互聯網中方便獲取的大眾信息,人們通過網絡上的標準信息檢索系統,查詢相關標準的題錄信息和獲取標準線索,初步滿足了人們對標準題錄的查詢需要。本文通過介紹結構化查詢語言(簡稱SQL)中的統計功能,幫助讀者進一步掌握分析和統計這些標準題錄的常用方法。

標準題錄通常存放于關系型數據庫中,如Oracle、DB2、PostgreSQL、SQL Server、Access、MySQL、浪潮K-DB等,這些數據庫都使用SQL實現數據查詢和統計。表1列出了這些數據庫操作SQL的圖形化工具,借助這些工具,可以方便地使用SQL分析和統計標準題錄數據。本文僅以SQL Server為例介紹SQL的統計功能。

表1 關系型數據庫的SQL圖形化工具

2 SQL及其數據統計功能簡介

SQL是結構化查詢語言的簡稱,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統,包括數據查詢、數據操作、數據控制、數據定義、事務處理、指針控制等6部分語言[1]。

SQL數據查詢語言由SELECT語句構成。SELECT語句通常劃分為SELECT、FROM、WITH、WHERE、GROUP BY、HAVING、UNION、ORDER BY、INTO等子句,靈活運用這些子句,可以滿足大多數的數據統計。

本文以標準題錄表std_title和起草單位表std_draft_unit為例,說明SQL的統計功能。兩個表的字段屬性參見表2和表3[2-3]。

表2 表std_title字段屬性

表3 表std_draft_unit字段屬性

3 使用聚組函數的統計

SELECT語句使用聚組函數進行數據統計的簡易語法是:

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

SELECT語句不使用WHERE子句時,將對全部數據進行統計;使用WHERE子句時,則僅在WHERE子句限定的范圍內統計。例如輸入以下語句并運行,將統計全部標準的總數量:

SELECT COUNT(std_no) FROM std_title

而運行以下語句僅統計國家標準的總數量:

SELECT COUNT(std_no) FROM std_title WHERE std_kind = '國家標準'

SELECT語句常用的聚組函數有5種,參見表4。

表4 聚組函數

WHERE子句除WHERE關鍵字外,通常由字段名、比較運算符、字段名(或常數)組成,比較運算符參見表5。如統計國家標準和行業標準的總數量的語句是:

SELECT COUNT(std_no) FROM std_title WHERE (std_kind = '國家標準') OR (std_kind = '行業標準')

表5 WHERE子句的比較運算符

運算符 說明 示例 示例說明<= 小于等于 page_num <= 5 標準文本頁數小于等于5頁的統計(含5頁)!=(或<>) 不等于 std_kind != '國家標準' 不是國家標準的統計BETWEEN... AND ... 在兩個值之間 release_year BETWEEN '2010' AND '2017'2010年至2017年發布的統計(含2010、2017年)IN 在集合內的值 std_kind IN ('國家標準','行業標準') 國家標準和行業標準的統計LIKE 字符串匹配 std_name LIKE '%食品%' 標準中文名稱含“食品”的統計IS NULL 空值 std_eng_name IS NULL 標準英文名為空值的統計NOT 條件不成立時 NOT (Std_kind = '國家標準') 不是國家標準的統計AND 不同條件的交集 (release_year >= '2010') AND(release_year <= '2017')2010年至2017年發布的標準的統計(含2010、2017年)OR 不同條件的并集 (std_kind = '國家標準') OR(std_kind = '行業標準') 國家標準和行業標準的統計

4 使用分組的統計

GROUP BY子句實現對數據的分組統計,簡易語法是:

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

使用GROUP BY子句時有以下特點:GROUP BY 子句中的字段名應當在SELECT子句中也出現;SELECT子句中的字段名不在GROUP BY 子句中時,必須使用聚組函數;聚組函數只能在SELECT子句、GROUP BY子句、HAVING子句中出現,不能出現在WHERE子句中;GROUP BY子句與HAVING子句同時使用時,將只給出滿足HAVING子句的統計數據;WHERE子句、GROUP BY 子句、HAVING子句同時使用時,程序執行順序是WHERE->GROUP BY->HAVING;WHERE子句和HAVING子句都用于對查詢結果限定條件。兩者同時使用時,WHERE子句的作用是在數據分組前過濾數據,即先去掉不符合WHERE子句條件的數據,再對查詢結果進行分組;HAVING子句的作用是在數據分組后過濾數據,即先對數據進行分組,再去掉不符合HAING子句條件的分組數據。

示例如下:

(1)統計不同標準類型的數量:

(2)統計2016年發布的不同標準類型的數量:

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

(3)統計2016年發布的數量不少于50個的不同標準類型的數量:

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

5 使用連接查詢的統計

多個表的關聯統計可以使用SQL的連接查詢或子查詢進行。連接查詢的方式有內連接、外連接和交叉連接。內連接分為等值連接、不等連接和自然連接;外連接分為左外連接、右外連接、全外連接。自然連接和交叉連接不能用于數據統計。使用連接查詢時,字段名前應加表名前綴(表名或表的別名),只有該字段名在FROM子句的所有表中是唯一的,才可以不加前綴。

(1)使用等值連接查詢的統計

WHERE子句中的比較運算符使用“=”號連接不同表的連接字段的查詢方式稱為等值連接查詢。如查詢某單位參與起草的所有標準的總頁數和總零售價:

例5 (2013.煙臺中考)在探究“綠葉在光下制造有機物”時,因受時間和條件的限制,教材為我們提供了實驗方案,但實驗要在認同實驗原理的前提下進行,以下是某小組同學在實驗前依次進行的對話,請分析其中蘊含的科學思維和方法。

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 = '某單位')

或者寫成如下語句:

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)使用不等連接查詢的統計

WHERE子句中的比較運算符使用“>”、“>=”、“<=”、“<=”和“!= ”等符號連接不同表的連接字段的查詢方式稱為不等連接查詢。如查詢非某單位參與起草的標準的總頁數和總零售價:

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)使用左外連接查詢的統計

使用LEFT OUTER JOIN關鍵字連接不同表的連接字段的查詢方式稱為左外連接查詢。該方式查詢的結果不但有滿足WHERE子句的查詢條件和連接條件的數據,同時還有LEFT OUTER JOIN關鍵字左邊表中滿足查詢條件但不滿足連接條件的數據。如統計某單位參與起草的所有標準的總頁數和總零售價:

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)使用右外連接查詢的統計

使用RIGHT OUTER JOIN關鍵字連接不同表的連接字段的查詢方式稱為右外連接查詢。該方式查詢的結果不但有滿足WHERE子句的查詢條件和連接條件的數據,同時還有RIGHT OUTER JOIN關鍵字右邊表中滿足查詢條件但不滿足連接條件的數據。如統計某單位參與起草的所有標準的總頁數和總零售價:

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 = '某單位')

從該示例可以看出,使用右外連接查詢進行統計時,可以不用WHERE子句再限制統計結果。

(5)使用全外連接查詢的統計

使用FULL OUTER JOIN關鍵字連接不同表的查詢方式稱為全外連接查詢。該方式查詢的結果不但有滿足WHERE子句的查詢條件和連接條件的數據,同時還有FULL OUTER JOIN 關鍵字左邊表和右邊表中滿足查詢條件但不滿足連接條件的數據。如統計某單位參與起草的所有標準的總頁數和總零售價:

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 使用子查詢的統計

包含在WHERE子句中的SELECT語句稱為子查詢。SELECT語句使用子查詢進行數據統計的簡易語法有三種:

(1)IN方式:

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

(2)ALL方式:

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

(3)EXISTS方式:

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

包含子查詢的SQL有以下特點:不同的關系型數據庫中子查詢的嵌套層次不同,最多可達255層;最里面的子查詢先執行,將查詢結果返回給上一級查詢使用;子查詢方式常常可以和連接查詢互換使用,得到的查詢或統計結果相同;關鍵字IN 和 =ANY可以互換使用,關鍵字NOT IN 和!=ALL可以互換使用;含有IN的查詢可以換成EXISTS,但含有EXISTS的查詢則不一定能用IN代替;子查詢中一般不使用ORDER BY。

以統計某單位參與起草的所有標準的總頁數和總零售價為例,上述三種方式的語句分別是:

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 = '某單位')

子查詢中也常用到數據統計,如起草標準頁數最多的單位名稱:

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 結語

結構化查詢語言(SQL)是查詢和統計標準題錄數據的重要工具,熟練掌握和靈活運用聚組函數、分組、連接查詢、子查詢等功能,可以幫助企業進一步了解標準的整體情況,掌握不同行業標準的發展特點,獲知本行業最新的科技動態,從而有效指導本企業的生產、經營和管理等工作。

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

[2] QJ 1640-1989,標準文獻著錄規則[S].

[3] GB/T 22373-2008,標準文獻元數據[S].

猜你喜歡
標準
2022 年3 月實施的工程建設標準
忠誠的標準
當代陜西(2019年8期)2019-05-09 02:22:48
標準匯編
上海建材(2019年1期)2019-04-25 06:30:48
美還是丑?
你可能還在被不靠譜的對比度標準忽悠
一家之言:新標準將解決快遞業“成長中的煩惱”
專用汽車(2016年4期)2016-03-01 04:13:43
2015年9月新到標準清單
標準觀察
標準觀察
標準觀察
主站蜘蛛池模板: 国内精品手机在线观看视频| 国产在线视频福利资源站| 伊人中文网| 蜜桃视频一区二区| 亚洲精品福利视频| 国产第一页屁屁影院| 人妻精品久久无码区| 久久国产精品嫖妓| 日韩二区三区无| 无码久看视频| 99久久精品免费视频| 久久影院一区二区h| 久久国产精品影院| 波多野结衣视频网站| 免费国产小视频在线观看| 久久人搡人人玩人妻精品 | AⅤ色综合久久天堂AV色综合 | 黄色网页在线观看| 91精品国产丝袜| 亚洲AⅤ永久无码精品毛片| 欧美激情综合一区二区| 亚洲精品777| 婷婷99视频精品全部在线观看 | 91九色国产在线| 中文字幕永久在线观看| 精品無碼一區在線觀看 | 怡红院美国分院一区二区| 亚洲日韩精品无码专区| 亚洲第一成年网| 91丝袜在线观看| 大学生久久香蕉国产线观看| 色综合成人| 亚洲黄色激情网站| 亚洲日韩国产精品无码专区| 丁香婷婷激情网| 在线观看欧美国产| 伊人网址在线| 亚洲色欲色欲www网| 国产在线麻豆波多野结衣| 国产精品成| 久久亚洲天堂| 亚洲精品视频在线观看视频| 最新日韩AV网址在线观看| 热九九精品| 亚洲黄色片免费看| 亚洲天堂网2014| 成人午夜视频网站| 国产一区二区三区精品欧美日韩| 国产在线精品人成导航| 国产传媒一区二区三区四区五区| 日韩亚洲综合在线| 国产麻豆精品在线观看| 免费国产黄线在线观看| 无码日韩视频| 福利小视频在线播放| 九九九九热精品视频| 9cao视频精品| 欧美在线一二区| 精品人妻一区二区三区蜜桃AⅤ| 精品视频一区二区观看| 日本三级欧美三级| 美女被操黄色视频网站| 亚洲婷婷六月| 精品在线免费播放| 亚洲无码精彩视频在线观看| 国产在线观看第二页| 精品无码一区二区三区在线视频| 亚洲国产中文欧美在线人成大黄瓜 | 91美女视频在线观看| 日韩av在线直播| 青草娱乐极品免费视频| 91在线视频福利| 久久久久久国产精品mv| 欧美成人看片一区二区三区| 伊人网址在线| 国产精品无码翘臀在线看纯欲| 亚洲欧洲综合| 国产一级二级在线观看| 国产色爱av资源综合区| 无码一区中文字幕| 99在线观看精品视频| 在线亚洲精品自拍|