六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

SQL語(yǔ)言迅速基礎(chǔ)(3)

[摘要]我們?nèi)粘J褂肧QL語(yǔ)言的工作過(guò)程中,使用最多的還是從已經(jīng)建立好的數(shù)據(jù)庫(kù)中查詢(xún)信息。下面,我們就來(lái)詳細(xì)介紹一下如何使用SQL語(yǔ)言實(shí)現(xiàn)各種數(shù)據(jù)庫(kù)查詢(xún)操作。 SELECT…FROM   為方便講解,我們?cè)?..
我們?nèi)粘J褂肧QL語(yǔ)言的工作過(guò)程中,使用最多的還是從已經(jīng)建立好的數(shù)據(jù)庫(kù)中查詢(xún)信息。下面,我們就來(lái)詳細(xì)介紹一下如何使用SQL語(yǔ)言實(shí)現(xiàn)各種數(shù)據(jù)庫(kù)查詢(xún)操作。

SELECT…FROM

  為方便講解,我們?cè)跀?shù)據(jù)庫(kù)中創(chuàng)建名為Store_Information的如下數(shù)據(jù)表。

Store_Information

Store_Name
Sales
Date

Los Angeles
00
Jan-10-2000

San Diego
0
Jan-11-2000

Los Angeles
0
Jan-12-2000

Boston
0
Jan-12-2000


  SQL語(yǔ)言中用于數(shù)據(jù)庫(kù)查詢(xún)的最簡(jiǎn)單的命令就是SELECT…FROM,語(yǔ)法格式為:

SELECT "column_name" FROM "table_name"

例如,如果我們希望查詢(xún)Store_Information數(shù)據(jù)表中所有的商店名稱(chēng)時(shí),可以使用如下命令:

SELECT store_name FROM Store_Information

查詢(xún)結(jié)果顯示為:

Store_Name

Los Angeles

San Diego

Los Angeles

Boston

如果用戶(hù)希望一次查詢(xún)多個(gè)字段,可以將所要查詢(xún)的字段名稱(chēng)依次加入SELECT關(guān)鍵字之后,中間用“,”隔開(kāi)即可。

DISTINCT

  SELECT關(guān)鍵字支持用戶(hù)查詢(xún)數(shù)據(jù)表中指定字段的所有數(shù)據(jù),但是這樣有時(shí)就會(huì)不可避免的出現(xiàn)重復(fù)信息。如果用戶(hù)希望只查詢(xún)那些具有不同記錄值的信息的話(huà),可以使用SQL語(yǔ)言的DISTINCT關(guān)鍵字。語(yǔ)法格式如下:

SELECT DISTINCT "column_name"

FROM "table_name"

例如,我們可以使用以下命令查詢(xún)Store_Information數(shù)據(jù)表具有不同記錄值的所有記錄。

SELECT DISTINCT Store_Name FROM Store_Information

查詢(xún)結(jié)果如下:

Store_Name

Los Angeles

San Diego

Boston

WHERE

  除了選擇具有不同記錄值的記錄之外,有時(shí)我們可能還會(huì)需要根據(jù)某些條件對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢(xún)。例如,我們可能需要查詢(xún)Store_Information數(shù)據(jù)表中銷(xiāo)售額超過(guò)1000美圓的商店。為此,我們可以使用SQL語(yǔ)言的WHERE關(guān)鍵字設(shè)定查詢(xún)條件。語(yǔ)法格式如下:

SELECT "column_name"

FROM "table_name"

WHERE "condition"

由此,我們可以使用如下命令查詢(xún)銷(xiāo)售額超過(guò)1000美圓的商店信息:

SELECT store_name FROM Store_Information WHERE Sales > 1000

查詢(xún)結(jié)果顯示為:

store_name

Los Angeles

運(yùn)算函數(shù)

  現(xiàn)在,我們已經(jīng)了解到在使用SQL語(yǔ)言進(jìn)行數(shù)據(jù)庫(kù)查詢(xún)操作時(shí)可以通過(guò)對(duì)數(shù)值的判斷設(shè)定靈活的查詢(xún)條件。為了增強(qiáng)對(duì)運(yùn)算的支持能力,SQL提供了眾多實(shí)用的運(yùn)算函數(shù)供廣大用戶(hù)使用。例如,我們可以直接在SQL命令中調(diào)用SUM或AVG這兩個(gè)分別用于計(jì)算總數(shù)和平均數(shù)的函數(shù)。語(yǔ)法格式如下:

SELECT "function type"("column_name")

FROM "table_name"

如果我們希望查詢(xún)Store_Information數(shù)據(jù)表中所有商店的總銷(xiāo)售額的話(huà),可以使用如下命令:

SELECT SUM(Sales) FROM Store_Information

查詢(xún)結(jié)果顯示為:

SUM(Sales)

50

COUNT

  除了SUM和AVG函數(shù)之外,COUNT函數(shù)是SQL語(yǔ)言中另一個(gè)較為常用的運(yùn)算函數(shù)。COUNT函數(shù)可以用來(lái)計(jì)算數(shù)據(jù)表中指定字段所包含的記錄數(shù)目。語(yǔ)法格式為:

SELECT COUNT("column_name")

FROM "table_name"

例如,如果我們希望查詢(xún)Store_Information數(shù)據(jù)表中的有關(guān)商店的記錄條數(shù)時(shí),可以使用如下命令:

SELECT COUNT(store_name)

FROM Store_Information

查詢(xún)結(jié)果顯示為:

Count(store_name)

4

COUNT函數(shù)可以和DISTINCT關(guān)鍵字一起使用從而可以查詢(xún)數(shù)據(jù)表中指定字段中所有具有不同記錄值的記錄數(shù)目。例如,如果我們希望查詢(xún)Store_Information數(shù)據(jù)表中不同商店的數(shù)目時(shí),可以使用如下命令:

SELECT COUNT(DISTINCT store_name)

FROM Store_Information

查詢(xún)結(jié)果顯示為:

Count(DISTINCT store_name)

3

GROUP BY

下面我們來(lái)進(jìn)一步看一下SQL語(yǔ)言中的集合函數(shù)。上文中,我們?cè)褂肧UM函數(shù)計(jì)算所有商店的銷(xiāo)售總額,如果我們希望計(jì)算每一家商店各自的總銷(xiāo)售額時(shí)該怎么辦呢?要實(shí)現(xiàn)這一目的我們需要做兩件事:首先,我們需要查詢(xún)商店名稱(chēng)和銷(xiāo)售額兩個(gè)字段;然后,我們使用SQL語(yǔ)言的GROUP BY命令將銷(xiāo)售額按照不同的商店進(jìn)行分組,從而計(jì)算出不同商店的銷(xiāo)售總額。GROUP BY命令的語(yǔ)法格式為:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

我們可以使用如下命令實(shí)現(xiàn)上述查詢(xún)目的:

SELECT store_name, SUM(Sales)

FROM Store_Information

GROUP BY store_name

查詢(xún)結(jié)果顯示為:

store_name SUM(Sales)

Los Angeles 00

San Diego 0

Boston 0

小注:

GROUP BY關(guān)鍵字一般應(yīng)用于同時(shí)查詢(xún)多個(gè)字段并對(duì)字段進(jìn)行算術(shù)運(yùn)算的SQL命令中。

HAVING

用戶(hù)在使用SQL語(yǔ)言的過(guò)程中可能希望解決的另一個(gè)問(wèn)題就是對(duì)由sum或其它集合函數(shù)運(yùn)算結(jié)果的輸出進(jìn)行限制。例如,我們可能只希望看到Store_Information數(shù)據(jù)表中銷(xiāo)售總額超過(guò)1500美圓的商店的信息,這時(shí)我們就需要使用HAVING從句。語(yǔ)法格式為:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

HAVING (arithematic function condition)

(GROUP BY從句可選)

由此,我們可以使用如下命令實(shí)現(xiàn)上述查詢(xún)目的:

SELECT store_name, SUM(sales)

FROM Store_Information

GROUP BY store_name

HAVING SUM(sales) > 1500

查詢(xún)結(jié)果顯示為:

store_name SUM(Sales)

Los Angeles 00

小注:

SQL語(yǔ)言中設(shè)定集合函數(shù)的查詢(xún)條件時(shí)使用HAVING從句而不是WHERE從句。通常情況下,HAVING從句被放置在SQL命令的結(jié)尾處。

ALIAS

下面,我們重點(diǎn)介紹一下如何在SQL命令中設(shè)定別名。SQL語(yǔ)言中一般使用兩種類(lèi)型的別名,分別為字段別名和數(shù)據(jù)表別名。

簡(jiǎn)單的說(shuō),使用字段別名可以幫助我們有效的組織查詢(xún)的輸出結(jié)果。例如,上文所列舉的多個(gè)實(shí)例中,當(dāng)我們計(jì)算商店銷(xiāo)售總額時(shí),顯示結(jié)果中就會(huì)出現(xiàn)SUM(sales)。雖然SUM(sales)并不會(huì)對(duì)我們理解查詢(xún)結(jié)果帶來(lái)不便,但是如果我們需要在查詢(xún)中使用多項(xiàng)復(fù)雜運(yùn)算時(shí),顯示結(jié)果就不會(huì)這么直觀了。如果這時(shí)我們使用字段別名就會(huì)極大的提高查詢(xún)結(jié)果的可讀性。

對(duì)于數(shù)據(jù)表別名,我們可以通過(guò)將別名直接放置在FROM從句中數(shù)據(jù)表名稱(chēng)的后面設(shè)定。數(shù)據(jù)表別名在我們下面將要講述的連接多個(gè)數(shù)據(jù)表進(jìn)行查詢(xún)的操作中極為有用。

字段和數(shù)據(jù)表別名的語(yǔ)法格式如下:

SELECT "table_alias"."column_name1" "column_alias"

FROM "table_name" "table_alias"

即別名都直接放置在各自對(duì)應(yīng)名稱(chēng)的后面,中間用空格分開(kāi)。

以Store_Information數(shù)據(jù)表為例,我們可以在GROUP BY一節(jié)中所使用的SQL命令中設(shè)置如下字段和數(shù)據(jù)表別名:

SELECT A1.store_name Store, SUM(Sales) "Total Sales"

FROM Store_Information A1

GROUP BY A1.store_name

查詢(xún)結(jié)果顯示為:

Store Total Sales

Los Angeles 00

San Diego 0

Boston 0

連接多個(gè)數(shù)據(jù)表

最后,我們來(lái)看一下如果使用SQL語(yǔ)言連接多個(gè)數(shù)據(jù)表,實(shí)現(xiàn)對(duì)多個(gè)數(shù)據(jù)表的查詢(xún)。為方便講解,我們?cè)跀?shù)據(jù)庫(kù)中分別創(chuàng)建了兩個(gè)名為Store_Information和Region的數(shù)據(jù)表。

Store_Information

Store_Name
Sales
Date

Los Angeles
00
Jan-10-2000

San Diego
0
Jan-11-2000

Los Angeles
0
Jan-12-2000

Boston
0
Jan-12-2000


Region

Region_Name
Store_Name

East
Boston

East
New York

West
Los Angeles

West
San Diego


下面,我們就來(lái)看一下通過(guò)數(shù)據(jù)表的連接實(shí)現(xiàn)按不同區(qū)域查詢(xún)銷(xiāo)售額。

我們注意到在名為Region的數(shù)據(jù)表中包含區(qū)域和商店兩個(gè)字段信息,而在名為Store_Information的數(shù)據(jù)表中則包含每一家商店的銷(xiāo)售信息。因此,為了得到按區(qū)域劃分的銷(xiāo)售信息,我們需要將兩個(gè)不同數(shù)據(jù)表的信息結(jié)合在一起進(jìn)行查詢(xún)。通過(guò)對(duì)上述兩個(gè)數(shù)據(jù)表的分析,我們發(fā)現(xiàn)每個(gè)數(shù)據(jù)表中都包含一個(gè)名為Store_Name的字段,因此,我們可以使用如下命令實(shí)現(xiàn)查詢(xún)目的:

SELECT A1.region_name REGION, SUM(A2.Sales) SALES

FROM Geography A1, Store_Information A2

WHERE A1.store_name = A2.store_name

GROUP BY A1.region_name

查詢(xún)結(jié)果顯示為:

REGION SALES

East 0

West 50

說(shuō)明:

上述查詢(xún)命令的前兩行用于指定所要查詢(xún)的目標(biāo)字段,分別為Region數(shù)據(jù)表中的Region_Name字段和Store_Information數(shù)據(jù)表中Sales字段的記錄值總數(shù)。這里,我們?cè)O(shè)定兩個(gè)字段的別名分別為REGION和SALES,兩個(gè)數(shù)據(jù)表的別名分別為A1和A2。如果我們只使用字段別名而不設(shè)定數(shù)據(jù)表別名的話(huà),上述SQL命令的第一行就變成 如下形式:

SELECT Region.Region_Name REGION, SUM(Store_Information.Sales) SALES

由此我們可以看出有效的使用數(shù)據(jù)表別名,可以極大的簡(jiǎn)化對(duì)多個(gè)數(shù)據(jù)表進(jìn)行操作的SQL命令。

上述查詢(xún)命令的第3行為WHERE從句,正是該從句設(shè)定了兩個(gè)數(shù)據(jù)表的連接條件。因?yàn)槲覀兿M_保Region數(shù)據(jù)表中的Store_Name字段能夠與Store_Information數(shù)據(jù)表中的同名字段相對(duì)應(yīng),所以我們規(guī)定兩個(gè)字段的記錄值應(yīng)當(dāng)相等。在連接多個(gè)數(shù)據(jù)表時(shí),一定要準(zhǔn)確設(shè)定數(shù)據(jù)表的連接條件,如果WHERE從句設(shè)定不正確,則可能導(dǎo)致查詢(xún)結(jié)果中出現(xiàn)眾多不相關(guān)的數(shù)據(jù)



主站蜘蛛池模板: 亚洲成 人a影院青久在线观看 | 一区二区三区在线视频观看 | 日韩中文在线 | 欧美在线视频你懂的 | 亚洲日本国产 | 日韩欧美亚洲 | 日韩精品 欧美 | 丝袜美女爽爆91 | 中文字幕第一页国产 | 亚洲专区路线一路线二天美 | 色综合久久久久久久久五月 | 色综合九九 | 日韩视频大全 | 亚洲国产99在线精品一区二区 | 三级国产在线观看 | 日韩美女在线视频网站免费观看 | 性高湖久久久久久久久aaaaa | 一级@片| 亚洲视频在线观看一区 | 午夜日韩久久影院 | 午夜性色福利影院 | 天天看片中文字幕 | 在线免费观看亚洲 | 桃色视频网 | 欧美一级艳片视频免费观看 | 日韩福利视频一区 | 色六月婷婷 | 亚洲欧洲一区二区三区 | 午夜美女影院 | 亚洲国产欧美在线人成精品一区二区 | 热久久久久 | 日韩中文一区宇都宫紫苑 | 日本一区不卡在线观看 | 青草五月天 | 日本天堂在线视频 | 亚洲视频在线观看一区 | 亚洲精品第一国产综合高清 | 天天干天天爽天天射 | 日韩在线观看免费 | 色综合天天综合给合国产 | 日本亚洲网站 |