SQL語言快速入門之三

來源:互聯網
上載者:User
sql語言|快速入門 我們日常使用SQL語言的工作過程中,使用最多的還是從已經建立好的資料庫中查詢資訊。下面,我們就來詳細介紹一下如何使用SQL語言實現各種資料庫查詢操作。

SELECT…FROM

  為方便講解,我們在資料庫中建立名為Store_Information的如下資料表。

Store_Information

Store_Name
Sales
Date

Los Angeles
$1500
Jan-10-2000

San Diego
$250
Jan-11-2000

Los Angeles
$300
Jan-12-2000

Boston
$700
Jan-12-2000


  SQL語言中用於資料庫查詢的最簡單的命令就是SELECT…FROM,文法格式為:

SELECT "column_name" FROM "table_name"

例如,如果我們希望查詢Store_Information資料表中所有的商店名稱時,可以使用如下命令:

SELECT store_name FROM Store_Information

查詢結果顯示為:

Store_Name

Los Angeles

San Diego

Los Angeles

Boston

如果使用者希望一次查詢多個欄位,可以將所要查詢的欄位名稱依次加入SELECT關鍵字之後,中間用“,”隔開即可。

DISTINCT

  SELECT關鍵字支援使用者查詢資料表中指定欄位的所有資料,但是這樣有時就會不可避免的出現重複資訊。如果使用者希望只查詢那些具有不同記錄值的資訊的話,可以使用SQL語言的DISTINCT關鍵字。文法格式如下:

SELECT DISTINCT "column_name"

FROM "table_name"

例如,我們可以使用以下命令查詢Store_Information資料表具有不同記錄值的所有記錄。

SELECT DISTINCT Store_Name FROM Store_Information

查詢結果如下:

Store_Name

Los Angeles

San Diego

Boston

WHERE

  除了選擇具有不同記錄值的記錄之外,有時我們可能還會需要根據某些條件對資料庫中的資料進行查詢。例如,我們可能需要查詢Store_Information資料表中銷售額超過1000美圓的商店。為此,我們可以使用SQL語言的WHERE關鍵字設定查詢條件。文法格式如下:

SELECT "column_name"

FROM "table_name"

WHERE "condition"

由此,我們可以使用如下命令查詢銷售額超過1000美圓的商店資訊:

SELECT store_name FROM Store_Information WHERE Sales > 1000

查詢結果顯示為:

store_name

Los Angeles

運算函數

  現在,我們已經瞭解到在使用SQL語言進行資料庫查詢操作時可以通過對數值的判斷設定靈活的查詢條件。為了增強對運算的支援能力,SQL提供了眾多實用的運算函數供廣大使用者使用。例如,我們可以直接在SQL命令中調用SUM或AVG這兩個分別用於計算總數和平均數的函數。文法格式如下:

SELECT "function type"("column_name")

FROM "table_name"

如果我們希望查詢Store_Information資料表中所有商店的總銷售額的話,可以使用如下命令:

SELECT SUM(Sales) FROM Store_Information

查詢結果顯示為:

SUM(Sales)

$2750

COUNT

  除了SUM和AVG函數之外,COUNT函數是SQL語言中另一個較為常用的運算函數。COUNT函數可以用來計算資料表中指定欄位所包含的記錄數目。文法格式為:

SELECT COUNT("column_name")

FROM "table_name"

例如,如果我們希望查詢Store_Information資料表中的有關商店的記錄條數時,可以使用如下命令:

SELECT COUNT(store_name)

FROM Store_Information

查詢結果顯示為:

Count(store_name)

4

COUNT函數可以和DISTINCT關鍵字一起使用從而可以查詢資料表中指定欄位中所有具有不同記錄值的記錄數目。例如,如果我們希望查詢Store_Information資料表中不同商店的數目時,可以使用如下命令:

SELECT COUNT(DISTINCT store_name)

FROM Store_Information

查詢結果顯示為:

Count(DISTINCT store_name)

3

GROUP BY

下面我們來進一步看一下SQL語言中的集合函數。上文中,我們曾使用SUMFunction Compute所有商店的銷售總額,如果我們希望計算每一家商店各自的總銷售額時該怎麼辦呢?要實現這一目的我們需要做兩件事:首先,我們需要查詢商店名稱和銷售額兩個欄位;然後,我們使用SQL語言的GROUP BY命令將銷售額按照不同的商店進行分組,從而計算出不同商店的銷售總額。GROUP BY命令的文法格式為:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

我們可以使用如下命令實現上述查詢目的:

SELECT store_name, SUM(Sales)

FROM Store_Information

GROUP BY store_name

查詢結果顯示為:

store_name SUM(Sales)

Los Angeles $1800

San Diego $250

Boston $700

小註:

GROUP BY關鍵字一般應用於同時查詢多個欄位並對欄位進行算術運算的SQL命令中。

HAVING

使用者在使用SQL語言的過程中可能希望解決的另一個問題就是對由sum或其它集合函數運算結果的輸出進行限制。例如,我們可能只希望看到Store_Information資料表中銷售總額超過1500美圓的商店的資訊,這時我們就需要使用HAVING從句。文法格式為:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

HAVING (arithematic function condition)

(GROUP BY從句可選)

由此,我們可以使用如下命令實現上述查詢目的:

SELECT store_name, SUM(sales)

FROM Store_Information

GROUP BY store_name

HAVING SUM(sales) > 1500

查詢結果顯示為:

store_name SUM(Sales)

Los Angeles $1800

小註:

SQL語言中設定集合函數的查詢條件時使用HAVING從句而不是WHERE從句。通常情況下,HAVING從句被放置在SQL命令的結尾處。

ALIAS

下面,我們重點介紹一下如何在SQL命令中設定別名。SQL語言中一般使用兩種類型的別名,分別為欄位別名和資料表別名。

簡單的說,使用欄位別名可以協助我們有效組織查詢的輸出結果。例如,上文所列舉的多個執行個體中,當我們計算



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。