亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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ā)展和社會各界對標(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)線索,初步滿足了人們對標(biāo)準(zhǔn)題錄的查詢需要。本文通過介紹結(jié)構(gòu)化查詢語言(簡稱SQL)中的統(tǒng)計(jì)功能,幫助讀者進(jìn)一步掌握分析和統(tǒng)計(jì)這些標(biāo)準(zhǔn)題錄的常用方法。

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

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

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

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

        SQL數(shù)據(jù)查詢語言由SELECT語句構(gòu)成。SELECT語句通常劃分為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為例,說明SQL的統(tǒng)計(jì)功能。兩個表的字段屬性參見表2和表3[2-3]。

        表2 表std_title字段屬性

        表3 表std_draft_unit字段屬性

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

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

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

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

        SELECT COUNT(std_no) FROM std_title

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

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

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

        表4 聚組函數(shù)

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

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

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

        運(yùn)算符 說明 示例 示例說明<= 小于等于 page_num <= 5 標(biāo)準(zhǔn)文本頁數(shù)小于等于5頁的統(tǒng)計(jì)(含5頁)!=(或<>) 不等于 std_kind != '國家標(biāo)準(zhǔn)' 不是國家標(biāo)準(zhǔn)的統(tǒng)計(jì)BETWEEN... AND ... 在兩個值之間 release_year BETWEEN '2010' AND '2017'2010年至2017年發(fā)布的統(tǒng)計(jì)(含2010、2017年)IN 在集合內(nèi)的值 std_kind IN ('國家標(biāo)準(zhǔn)','行業(yè)標(biāo)準(zhǔn)') 國家標(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 條件不成立時 NOT (Std_kind = '國家標(biāo)準(zhǔn)') 不是國家標(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 = '國家標(biāo)準(zhǔn)') OR(std_kind = '行業(yè)標(biāo)準(zhǔn)') 國家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)的統(tǒng)計(jì)

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

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

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

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

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

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

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

        例5 (2013.煙臺中考)在探究“綠葉在光下制造有機(jī)物”時,因受時間和條件的限制,教材為我們提供了實(shí)驗(yàn)方案,但實(shí)驗(yàn)要在認(rèn)同實(shí)驗(yàn)原理的前提下進(jìn)行,以下是某小組同學(xué)在實(shí)驗(yàn)前依次進(jìn)行的對話,請分析其中蘊(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 = '某單位')

        或者寫成如下語句:

        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)算符使用“>”、“>=”、“<=”、“<=”和“!= ”等符號連接不同表的連接字段的查詢方式稱為不等連接查詢。如查詢非某單位參與起草的標(biāo)準(zhǔn)的總頁數(shù)和總零售價:

        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ù),同時還有LEFT OUTER JOIN關(guān)鍵字左邊表中滿足查詢條件但不滿足連接條件的數(shù)據(jù)。如統(tǒng)計(jì)某單位參與起草的所有標(biāo)準(zhǔn)的總頁數(shù)和總零售價:

        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ù),同時還有RIGHT OUTER JOIN關(guān)鍵字右邊表中滿足查詢條件但不滿足連接條件的數(shù)據(jù)。如統(tǒng)計(jì)某單位參與起草的所有標(biāo)準(zhǔn)的總頁數(shù)和總零售價:

        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ì)時,可以不用WHERE子句再限制統(tǒng)計(jì)結(jié)果。

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

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

        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語句稱為子查詢。SELECT語句使用子查詢進(jìn)行數(shù)據(jù)統(tǒng)計(jì)的簡易語法有三種:

        (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ù)庫中子查詢的嵌套層次不同,最多可達(dá)255層;最里面的子查詢先執(zhí)行,將查詢結(jié)果返回給上一級查詢使用;子查詢方式常??梢院瓦B接查詢互換使用,得到的查詢或統(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)的總頁數(shù)和總零售價為例,上述三種方式的語句分別是:

        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)頁數(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é)語

        結(jié)構(gòu)化查詢語言(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è)最新的科技動態(tài),從而有效指導(dǎo)本企業(yè)的生產(chǎn)、經(jīng)營和管理等工作。

        [1] 石宏磊.淺談SQL語言的基礎(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)
        命題邏輯中一類擴(kuò)展子句消去方法
        命題邏輯可滿足性問題求解器的新型預(yù)處理子句消去方法
        近期發(fā)布的相關(guān)國家標(biāo)準(zhǔn)(2019年12月10日)
        近期發(fā)布的相關(guān)國家標(biāo)準(zhǔn)(2019年12月31日)
        近期發(fā)布的相關(guān)國家標(biāo)準(zhǔn)(2020年03月06日)
        近期發(fā)布的相關(guān)國家標(biāo)準(zhǔn)(2020年03月31日)
        西夏語的副詞子句
        西夏學(xué)(2018年2期)2018-05-15 11:24:42
        近刊題錄
        近刊題錄
        命題邏輯的子句集中文字的分類
        国产av无码专区亚洲av毛网站| 精品久久一区二区av| 一区二区二区三区亚洲 | 欧美黑人疯狂性受xxxxx喷水| AV无码免费不卡在线观看| 中文字幕亚洲综合久久久| 日韩经典午夜福利发布| 久久精品国产www456c0m| 亚洲色成人WWW永久在线观看| 亚洲黑寡妇黄色一级片| 蜜臀一区二区三区精品 | 亚洲AⅤ乱码一区二区三区| 国产熟女白浆精品视频二| 男人扒开添女人下部免费视频| 久久精品成人欧美大片| 日本精品久久久久中文字幕1| 亚洲av乱码一区二区三区人人| 国产乱妇无乱码大黄aa片| 亚洲精品无码高潮喷水在线| 无遮挡很爽视频在线观看| 免费播放成人大片视频| 久久99精品久久水蜜桃| 真正免费一级毛片在线播放| 亚洲精品视频免费在线| 大陆老熟女自拍自偷露脸| 国产精品成人观看视频| 亚洲VA中文字幕欧美VA丝袜| 美利坚亚洲天堂日韩精品| 日日摸夜夜添夜夜添高潮喷水| 日本乱子人伦在线视频| 国产韩国精品一区二区三区| 北条麻妃在线中文字幕| 两个人看的www免费视频中文 | 免费人成视频xvideos入口| 色综合另类小说图片区| 丝袜人妻中文字幕首页| 国产精品极品美女自在线观看免费| 亚洲精品无码人妻无码| 国产三级黄色的在线观看 | 亚洲AV永久无码精品一区二国| 国产黄色一区二区在线看|