亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQL Server中select語(yǔ)句的使用技巧

        2017-12-20 03:42:49韓繼英
        山西電子技術(shù) 2017年6期
        關(guān)鍵詞:商品信息數(shù)據(jù)表語(yǔ)句

        韓繼英

        (山西職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系,山西 太原 030006)

        SQL Server中select語(yǔ)句的使用技巧

        韓繼英

        (山西職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系,山西 太原 030006)

        本文主要以商品信息管理數(shù)據(jù)庫(kù)為例,詳細(xì)介紹了關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中SQL查詢(xún)語(yǔ)句—select的一些基本用法和使用技巧,主要包括了單表的基本查詢(xún)、關(guān)鍵字輔助查詢(xún)、統(tǒng)計(jì)查詢(xún)以及多表的連接查詢(xún)和嵌套查詢(xún)。

        select語(yǔ)句;查詢(xún);商品信息管理數(shù)據(jù)庫(kù)

        SQL是Structured Query Language 的縮寫(xiě),是一種結(jié)構(gòu)化查詢(xún)語(yǔ)言,因此,查詢(xún)功能是SQL語(yǔ)言的重要組成部分,此項(xiàng)功能非常強(qiáng)大,只要是數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),都可以通過(guò)SQL查詢(xún)語(yǔ)句將其查詢(xún)出來(lái)。

        SQL中的查詢(xún)功能都是通過(guò)select語(yǔ)句實(shí)現(xiàn)的,它可以與其它語(yǔ)句相互配合來(lái)完成相應(yīng)的查詢(xún)功能??梢?jiàn),select語(yǔ)句應(yīng)用之靈活,功能之強(qiáng)大。在數(shù)據(jù)庫(kù)中,select查詢(xún)語(yǔ)句不僅能夠完成對(duì)單表的基本查詢(xún)、條件查詢(xún)以及統(tǒng)計(jì)查詢(xún),還可以實(shí)現(xiàn)多表之間的連接查詢(xún)與子查詢(xún)等等。下面就結(jié)合商品信息管理數(shù)據(jù)庫(kù)來(lái)談?wù)動(dòng)嘘P(guān)select語(yǔ)句的用法。

        1 商品信息管理數(shù)據(jù)庫(kù)[1]簡(jiǎn)介

        在商品信息管理數(shù)據(jù)庫(kù)中包含了商品信息表、客戶(hù)信息表、銷(xiāo)售信息表、進(jìn)貨信息表、商品類(lèi)型表及庫(kù)存信息表。每張數(shù)據(jù)表中所包含的字段信息如下:

        表1 商品信息表

        表2 客戶(hù)信息表

        表3 銷(xiāo)售信息表

        表4 進(jìn)貨信息表

        表5 商品類(lèi)型表

        表6 庫(kù)存信息表

        2 select語(yǔ)句的使用

        2.1 基本查詢(xún)

        基本查詢(xún)是SQL中最簡(jiǎn)單的查詢(xún),語(yǔ)法格式:

        select *|字段列表 from 表名稱(chēng)

        可以查詢(xún)表中一個(gè)字段或多個(gè)字段信息,當(dāng)需要查詢(xún)數(shù)據(jù)表中所有字段信息時(shí)select后跟‘*’。當(dāng)對(duì)單表進(jìn)行查詢(xún)時(shí),from后跟一個(gè)數(shù)據(jù)表名,當(dāng)需要對(duì)多表進(jìn)行查詢(xún)時(shí),from后跟多個(gè)數(shù)據(jù)表名,表名之間用逗號(hào)分隔。

        例1.在庫(kù)存信息表中查詢(xún)所有庫(kù)存商品的庫(kù)存編號(hào)、商品編號(hào)及庫(kù)存數(shù)量。

        select * from 庫(kù)存信息表

        若只查詢(xún)商品編號(hào)和庫(kù)存數(shù)量,則查詢(xún)語(yǔ)句為:

        select 商品編號(hào),庫(kù)存數(shù)量 from 庫(kù)存信息表

        當(dāng)用戶(hù)需要對(duì)數(shù)據(jù)表中記錄進(jìn)行篩選時(shí),可以使用where語(yǔ)句加條件表達(dá)式來(lái)查詢(xún)。

        例2.在銷(xiāo)售信息表中查詢(xún)客戶(hù)編號(hào)為‘20130001’的銷(xiāo)售信息。

        select * from 銷(xiāo)售信息表

        where 客戶(hù)編號(hào)=’20130001’

        2.2 關(guān)鍵字輔助查詢(xún)

        2.2.1 distinct

        為了使用戶(hù)瀏覽數(shù)據(jù)方便,有時(shí)需要保證查詢(xún)結(jié)果中沒(méi)有重復(fù)行出現(xiàn),這時(shí),就可以通過(guò)distinct關(guān)鍵字完成此項(xiàng)功能。

        例3.在商品信息表中,查詢(xún)商品的產(chǎn)地有哪些?

        如果直接用select語(yǔ)句查詢(xún):

        select 產(chǎn)地 from 商品信息表

        則查詢(xún)結(jié)果中將會(huì)出現(xiàn)所有記錄的產(chǎn)地,有很多重復(fù)值。如果在select語(yǔ)句中添加distinct關(guān)鍵字:

        select distinct 產(chǎn)地 from 商品信息表

        則在查詢(xún)結(jié)果中就會(huì)去掉重復(fù)的數(shù)據(jù),每個(gè)產(chǎn)地只顯示了一次,查詢(xún)結(jié)果非常清晰。

        2.2.2 between…and…

        當(dāng)需要查詢(xún)某個(gè)取值范圍內(nèi)的記錄信息時(shí),可以在where語(yǔ)句中使用between…and…關(guān)鍵字。

        例4.在進(jìn)貨信息表中查詢(xún)進(jìn)貨數(shù)量在150到200之間的進(jìn)貨信息。

        select * from 進(jìn)貨信息表

        where 進(jìn)貨數(shù)量 between 150 and 200

        若表示不在某一范圍之內(nèi)時(shí),則只需要在between前面加not就可以了。

        2.2.3 like

        查詢(xún)過(guò)程中,我們經(jīng)常會(huì)遇到需要在一定范圍內(nèi)模糊查詢(xún)的情況,解決這種問(wèn)題可以在where后面加like關(guān)鍵字構(gòu)成的表達(dá)式作為篩選條件。

        例5.在客戶(hù)信息表中查詢(xún)姓“李”的客戶(hù)信息。

        select * from 客戶(hù)信息表

        where 客戶(hù)姓名 like ‘李%’

        若需要表示否定時(shí),在like前面加not即可。

        2.3 統(tǒng)計(jì)查詢(xún)

        2.3.1 order by

        在查詢(xún)數(shù)據(jù)的過(guò)程中,有時(shí)用戶(hù)想要的查詢(xún)效果并不是原始數(shù)據(jù)表中的記錄順序,此時(shí)可以使用order by子句對(duì)一個(gè)或多個(gè)字段進(jìn)行排序,滿(mǎn)足用戶(hù)的需求。

        例6.在庫(kù)存信息表中查詢(xún)庫(kù)存數(shù)量最多的前3條記錄。

        select top 3 * from 庫(kù)存信息表

        order by 庫(kù)存數(shù)量desc

        其中desc是descending的縮寫(xiě),表示降序;也可以用asc即ascending的縮寫(xiě),表示升序。

        2.3.2 group by[2]

        Excel中有分類(lèi)匯總功能,而在SQL中也可以group by子句對(duì)查詢(xún)結(jié)果實(shí)現(xiàn)分類(lèi)匯總功能。

        例7.在進(jìn)貨信息表中,對(duì)記錄按進(jìn)貨日期進(jìn)行分類(lèi),統(tǒng)計(jì)進(jìn)貨數(shù)量和進(jìn)貨金額。

        select 進(jìn)貨日期,sum(進(jìn)貨數(shù)量) ‘總進(jìn)貨數(shù)量’, sum(進(jìn)貨金額) ‘總進(jìn)貨金額’ from 進(jìn)貨信息表

        group by 進(jìn)貨日期

        可以在group by 后面添加having子句來(lái)限定分組查詢(xún)的條件。

        2.3.3 compute…by

        compute…by子句放在order by子句的后面,表示先分組排序,再小計(jì)。Compute后面可以跟多個(gè)聚合函數(shù),by之后的分組字段必須和order by之后的排序字段保持一致。

        例8.在銷(xiāo)售信息表中,按客戶(hù)編號(hào)分類(lèi)統(tǒng)計(jì)銷(xiāo)售數(shù)量和銷(xiāo)售金額。

        select * from 銷(xiāo)售信息表

        order by 客戶(hù)編號(hào)

        compute sum(銷(xiāo)售數(shù)量), sum(銷(xiāo)售金額) by 客戶(hù)編號(hào)

        2.4 高級(jí)查詢(xún)

        以上介紹的都是查詢(xún)同一張數(shù)據(jù)表中的數(shù)據(jù),但用戶(hù)在實(shí)際操作過(guò)程中,往往需要從數(shù)據(jù)庫(kù)中的多個(gè)數(shù)據(jù)表中查詢(xún)信息,因此,就必須用到更為高級(jí)的查詢(xún)技術(shù)。下面主要介紹高級(jí)查詢(xún)中的嵌套查詢(xún)[3]和多表連接查詢(xún)。

        2.4.1 嵌套查詢(xún)

        所謂嵌套查詢(xún)就是指在一個(gè)查詢(xún)語(yǔ)句中包含了多個(gè)查詢(xún)語(yǔ)句,這樣就通過(guò)一個(gè)個(gè)簡(jiǎn)單的查詢(xún)語(yǔ)句構(gòu)建了相當(dāng)復(fù)雜的查詢(xún)過(guò)程。

        例9.在商品信息管理數(shù)據(jù)庫(kù)中查詢(xún)出2012年12月11日購(gòu)買(mǎi)商品的客戶(hù)信息。

        select * from 客戶(hù)信息表

        where 客戶(hù)編號(hào) in(select 客戶(hù)編號(hào) from 銷(xiāo)售信息表

        where 銷(xiāo)售日期=’2012-12-11’)

        上題中要先根據(jù)銷(xiāo)售日期在銷(xiāo)售信息表中找到相應(yīng)的客戶(hù)編號(hào),再在客戶(hù)信息表中根據(jù)客戶(hù)編號(hào)找到相應(yīng)的客戶(hù)信息。因此,嵌套查詢(xún)要先查詢(xún)最內(nèi)層括號(hào)中的子查詢(xún),然后逐層向外查詢(xún),直到查詢(xún)出最終結(jié)果。

        2.4.2 多表連接查詢(xún)

        SQL Server 提供了使用連接從多個(gè)數(shù)據(jù)表查詢(xún)滿(mǎn)足條件的指定字段數(shù)據(jù)信息的方法。連接類(lèi)型主要有交叉連接、內(nèi)連接和外連接。

        1) 交叉連接查詢(xún)

        所謂交叉連接查詢(xún)就是將第一個(gè)表中的每一行與第二個(gè)表中的每一行進(jìn)行連接,最終查詢(xún)結(jié)果的行數(shù)是兩個(gè)數(shù)據(jù)表的行數(shù)之積,列數(shù)是兩個(gè)數(shù)據(jù)表列數(shù)之和。通常使用cross join 子句完成此項(xiàng)功能。

        例10.對(duì)銷(xiāo)售信息表和庫(kù)存信息表進(jìn)行交叉連接查詢(xún)。

        select * from 銷(xiāo)售信息表 cross join 庫(kù)存信息表

        銷(xiāo)售信息表10行、7列,庫(kù)存信息表20行、3列,交叉連接結(jié)果集行數(shù)為200行、列數(shù)為10列??梢?jiàn)查詢(xún)結(jié)果復(fù)雜,而且存在很多無(wú)意義的數(shù)據(jù)。因此,交叉連接很少使用,為了消除查詢(xún)結(jié)果中的數(shù)據(jù)冗余,一般會(huì)使用條件連接。

        2) 條件連接

        條件連接即通過(guò)where子句完成表的連接。

        例11.在商品信息管理數(shù)據(jù)庫(kù)中,查詢(xún)出庫(kù)存商品的詳細(xì)信息,要求顯示商品編號(hào)、商品名稱(chēng)、庫(kù)存數(shù)量、商品類(lèi)型名。

        select 商品編號(hào),商品名稱(chēng),庫(kù)存數(shù)量,商品類(lèi)型名

        from 庫(kù)存信息表,商品信息表,商品類(lèi)型表

        where 庫(kù)存信息表.商品編號(hào)=商品信息表.商品編號(hào)

        and 商品信息表.商品類(lèi)型號(hào)=商品類(lèi)型表.商品類(lèi)型號(hào)

        在條件查詢(xún)中,在select子句對(duì)字段進(jìn)行了篩選,where子句對(duì)記錄進(jìn)行了篩選,因此,在最終的查詢(xún)結(jié)果中,不存在無(wú)意義的數(shù)據(jù)。

        3) 內(nèi)連接查詢(xún)

        條件連接查詢(xún)還可以用內(nèi)連接查詢(xún)的方式來(lái)表示。

        上例可以表示為:

        select 商品編號(hào),商品名稱(chēng),庫(kù)存數(shù)量,商品類(lèi)型名

        from 庫(kù)存信息表

        join商品信息表on商品信息表.商品編號(hào)= 庫(kù)存信息表.商品編號(hào)

        join商品類(lèi)型表 on 商品類(lèi)型表.商品類(lèi)型號(hào)=商品信息表.商品類(lèi)型號(hào)

        查詢(xún)結(jié)果與條件連接一致。

        4) 外連接[4]

        使用條件連接和內(nèi)連接實(shí)現(xiàn)的多表連接中,查詢(xún)結(jié)果都是滿(mǎn)足條件的多個(gè)數(shù)據(jù)表中的公共記錄。因此會(huì)出現(xiàn)查詢(xún)信息不完整的情況。為了解決問(wèn)題,可以在連接查詢(xún)中使用以某張數(shù)據(jù)表為主的外連接查詢(xún)實(shí)現(xiàn)。外連接查詢(xún)主要有三種:左外連接查詢(xún)、右外連接查詢(xún)和全外連接查詢(xún)。

        例12.在商品信息管理數(shù)據(jù)庫(kù)中,顯示出客戶(hù)購(gòu)買(mǎi)商品的全部信息。要求顯示客戶(hù)編號(hào)、客戶(hù)姓名、商品編號(hào)、銷(xiāo)售日期信息。

        select 客戶(hù)信息表.客戶(hù)編號(hào),客戶(hù)姓名,商品編號(hào),銷(xiāo)售日期

        from 客戶(hù)信息表 left join 銷(xiāo)售信息表

        on 客戶(hù)信息表.客戶(hù)編號(hào)=銷(xiāo)售信息表.客戶(hù)編號(hào)

        以上為左連接,查詢(xún)結(jié)果以左表客戶(hù)信息表為主表,用主表中的每條記錄與右表銷(xiāo)售信息表中的每一個(gè)記錄連接組合,結(jié)果中除了滿(mǎn)足條件的記錄被顯示外,不滿(mǎn)足條件的客戶(hù)信息也會(huì)出現(xiàn)在查詢(xún)結(jié)果中,對(duì)不滿(mǎn)足條件的記錄系統(tǒng)會(huì)為其補(bǔ)充空值,即null。

        左連接用left join來(lái)表示,是以左表為主表;而右連接用right join來(lái)表示,是以右表為主表;全外連接用 full join來(lái)表示,除了顯示滿(mǎn)足條件的所有記錄外,左表、右表中不滿(mǎn)足條件的所有記錄都會(huì)被顯示。

        3 結(jié)束語(yǔ)

        本文主要闡述了SQL中常用的查詢(xún)功能,只要掌握了select語(yǔ)句的使用方法和技巧,掌握了查詢(xún)精髓,就可以幫助我們方便地完成數(shù)據(jù)庫(kù)的操作。

        [1] 劉暢,葉賓,毛乃川. SQL Server 2008 數(shù)據(jù)庫(kù)項(xiàng)目教程[M].北京:現(xiàn)代教育出版社,2015.

        [2] 何玉潔,梁琦.數(shù)據(jù)庫(kù)原理與應(yīng)用[M].第2版.北京:機(jī)械工業(yè)出版社,2011.

        [3] 高云,崔艷春.SQL Server 2008數(shù)據(jù)庫(kù)技術(shù)實(shí)用教程[M].北京:清華大學(xué)出版社,2011.

        [4] 徐人鳳,曾建華. SQL Server 2005 數(shù)據(jù)庫(kù)及應(yīng)用[M].北京:高等教育出版社,2014.

        TheUsingSkillofSelectStatementsinSQLServer

        Han Jiying

        (DepartmentofComputerScienceEngineering,ShanxiPolytechnicCollege,TaiyuanShanxi030006,China)

        This paper, mainly takes the database of commodity information management as an example, introduces some basic usage of SQL query select and the use skills in the database management system, including single table basic query, keywords assisted query, statistics query and connection query and nested query for multiple tables, that hopes to bring some help to readers.

        the select statement; query; commodity information management database

        2017-10-13

        韓繼英(1982- ),女,山西盂縣人,講師,碩士,主要研究方向:計(jì)算機(jī)信息管理。

        1674- 4578(2017)06- 0062- 04

        TP311.13

        A

        猜你喜歡
        商品信息數(shù)據(jù)表語(yǔ)句
        中國(guó)商品信息服務(wù)平臺(tái)
        商品信息
        軍事文摘(2023年18期)2023-10-31 08:11:40
        重點(diǎn):語(yǔ)句銜接
        湖北省新冠肺炎疫情數(shù)據(jù)表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于列控工程數(shù)據(jù)表建立線(xiàn)路拓?fù)潢P(guān)系的研究
        備戰(zhàn)雙十一
        精彩語(yǔ)句
        商品信息標(biāo)準(zhǔn)化助力電子商務(wù)健康發(fā)展
        圖表
        如何搞定語(yǔ)句銜接題
        日本视频一区二区三区观看| 亚洲综合国产精品一区二区| 国内无遮码无码| 色综合999| 日韩国产自拍成人在线| 国产精品一区二区夜色不卡| 人妻少妇精品视频专区vr| 中国精品18videosex性中国| 亚洲国产天堂一区二区三区| 特级毛片a级毛片免费播放| 日本亚洲欧美在线观看| 欧美一级鲁丝片免费一区| 国产女主播大秀在线观看| 亚洲av熟女一区二区三区站| 男人添女人囗交做爰视频| 亚洲av无码久久精品狠狠爱浪潮| 天躁夜夜躁狼狠躁| 亚洲精品有码在线观看| 最新国产主播一区二区| 公厕偷拍一区二区三区四区五区| 国产婷婷色综合av蜜臀av| 性夜影院爽黄a爽在线看香蕉| 亚洲人成网站久久久综合| 99国产精品欲av麻豆在线观看| 中文字幕一区二区人妻秘书| 亚洲免费网站观看视频| 宅男噜噜噜| 亚洲性爱区免费视频一区| 美女性色av一区二区三区| 日韩精品人妻中文字幕有码在线| 国产午夜福利精品一区二区三区| 国产精自产拍久久久久久蜜| 超碰日韩AV在线| 18禁黄无遮挡免费网站| 91偷拍与自偷拍亚洲精品86| 国产乱妇无码大片在线观看| 中出内射颜射骚妇| 亚洲中文欧美日韩在线人| 国产av一区二区日夜精品剧情| 国内少妇毛片视频| 日本大片在线看黄a∨免费|