當前位置

首頁 > 商務英語 > 計算機英語 > 資料庫as的用法

資料庫as的用法

推薦人: 來源: 閱讀: 9.84K 次

資料庫as的用法的用法你知道嗎?下面小編就跟你們詳細介紹下資料庫as的用法的用法,希望對你們有用。

padding-bottom: 75%;">資料庫as的用法

  資料庫as的用法的用法如下:

要從一個表中檢索資料就是查詢這個表。SQL 的 SELECT 語句就是做這個用途的。該語句分為選擇列表(列出要返回的欄位)、表列表(列出從中檢索資料的表)、以及可選的條件(宣告任意限制)。比如,要檢索表 weather 的所有行,鍵入:

SELECT * FROM weather;這裡的 * 是"所有欄位"的縮寫。[1]因此同樣的結果可以用下面的語句獲得:

SELECT city, temp_lo, temp_hi, prcp, date FROM weather;而輸出應該是:

city | temp_lo | temp_hi | prcp | date

---------------+---------+---------+------+------------

San Francisco | 46 | 50 | 0.25 | 1994-11-27

San Francisco | 43 | 57 | 0 | 1994-11-29

Hayward | 37 | 54 | | 1994-11-29

(3 rows)你可以在選擇列表中寫任意表達式,而不僅僅是欄位列表。比如,你可以:

SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;這樣應該得到:

city | temp_avg | date

---------------+----------+------------

San Francisco | 48 | 1994-11-27

San Francisco | 50 | 1994-11-29

Hayward | 45 | 1994-11-29

(3 rows)請注意這裡的 AS 子句是如何給輸出欄位重新命名的。AS 子句是可選的。

一個查詢可以使用 WHERE 子句進行"修飾",宣告需要哪些行。WHERE 子句包含一個布林表示式,只有那些布林表示式為真的行才會被返回。允許你在條件中使用常用的布林操作符(AND, OR, NOT)。比如,下面的查詢檢索舊金山的下雨天的天氣:

SELECT * FROM weather

WHERE city = 'San Francisco' AND prcp > 0.0;結果:

city | temp_lo | temp_hi | prcp | date

---------------+---------+---------+------+------------

San Francisco | 46 | 50 | 0.25 | 1994-11-27

(1 row)你可以要求返回的查詢是排好序的:

SELECT * FROM weather

ORDER BY city; city | temp_lo | temp_hi | prcp | date

---------------+---------+---------+------+------------

Hayward | 37 | 54 | | 1994-11-29

San Francisco | 43 | 57 | 0 | 1994-11-29

San Francisco | 46 | 50 | 0.25 | 1994-11-27在這個例子裡,排序的順序並非絕對清晰的,因此你可能看到 San Francisco 行隨機的排序。但是如果你使用下面的語句,那麼就總是會得到上面的結果

SELECT * FROM weather

ORDER BY city, temp_lo;你可以要求查詢的結果按照某種順序排序,並且消除重複行的輸出:

SELECT DISTINCT city

FROM weather; city

---------------

Hayward

San Francisco

(2 rows)再次宣告,結果行的順序可能是隨機的。你可以組合使用 DISTINCT 和 ORDER BY 來獲取一致的結果:[2]

SELECT DISTINCT city

FROM weather

ORDER BY city;注意

[1] 雖然 SELECT * 可以把查詢的結果翻出來,但我們普遍認為在生產程式碼中這是很糟糕的風格,因為給表增加一個欄位就改變了結果。

[2] 在一些資料庫系統裡,包括老版本的 PostgreSQL ,DISTINCT 自動對行進行排序,因此 ORDER BY 是多餘的。但是這一點並不是 SQL 標準的要求,並且目前的 PostgreSQL 並不保證 DISTINCT 導致資料行被排序。