亚洲免费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ǔ)句銜接題
        亚洲精品久久中文字幕| 中文字幕亚洲中文第一| 精品粉嫩av一区二区三区| 艳妇臀荡乳欲伦交换h在线观看| 天堂√在线中文官网在线| 欧美国产日产一区二区| 亚洲一区二区免费日韩| 日本不卡视频一区二区| а√天堂资源官网在线资源| 宝贝把腿张开我要添你下边动态图 | 国产在线拍偷自拍偷精品| 国产一区二区黑丝美女| 国产亚洲精品品视频在线| 天天躁日日躁狠狠久久| 久久精品无码一区二区三区不 | 国产精品自拍网站在线| 18禁止进入1000部高潮网站| 亚洲av中文无码乱人伦在线播放| 国产主播一区二区三区在线观看| 二区久久国产乱子伦免费精品 | 91久久精品无码人妻系列 | 在线观看免费a∨网站| 中文字幕无码免费久久9一区9| 精品日韩av专区一区二区 | 亚洲精品国产熟女久久| 风韵人妻丰满熟妇老熟女视频| 亚洲av无码专区在线观看下载| 亚洲精品无码成人片久久不卡| 亚洲日韩AV秘 无码一区二区| 亚洲一区精品一区在线观看| 亚洲高清在线天堂精品| 国产美女自慰在线观看| 九九在线精品视频xxx| 国产成人av三级在线观看韩国| 中文字幕人妻在线中字| 丝袜足控一区二区三区| 在线免费观看视频播放| 国产一区二区三区在线综合视频| 四虎影视免费永久在线观看| 超碰Av一区=区三区| av免费在线观看网站大全|