學(xué)習(xí)啦 > 學(xué)習(xí)英語(yǔ) > 專(zhuān)業(yè)英語(yǔ) > 計(jì)算機(jī)英語(yǔ) > 數(shù)據(jù)庫(kù)as的用法

數(shù)據(jù)庫(kù)as的用法

時(shí)間: 長(zhǎng)思709 分享

數(shù)據(jù)庫(kù)as的用法

  數(shù)據(jù)庫(kù)as的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下數(shù)據(jù)庫(kù)as的用法的用法,希望對(duì)你們有用。

  數(shù)據(jù)庫(kù)as的用法的用法如下:

  要從一個(gè)表中檢索數(shù)據(jù)就是查詢(xún)這個(gè)表。SQL 的 SELECT 語(yǔ)句就是做這個(gè)用途的。該語(yǔ)句分為選擇列表(列出要返回的字段)、表列表(列出從中檢索數(shù)據(jù)的表)、以及可選的條件(聲明任意限制)。比如,要檢索表 weather 的所有行,鍵入:

  SELECT * FROM weather;這里的 * 是"所有字段"的縮寫(xiě)。[1]因此同樣的結(jié)果可以用下面的語(yǔ)句獲得:

  SELECT city, temp_lo, temp_hi, prcp, date FROM weather;而輸出應(yīng)該是:

  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)你可以在選擇列表中寫(xiě)任意表達(dá)式,而不僅僅是字段列表。比如,你可以:

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

  city | temp_avg | date

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

  San Francisco | 48 | 1994-11-27

  San Francisco | 50 | 1994-11-29

  Hayward | 45 | 1994-11-29

  (3 rows)請(qǐng)注意這里的 AS 子句是如何給輸出字段重新命名的。AS 子句是可選的。

  一個(gè)查詢(xún)可以使用 WHERE 子句進(jìn)行"修飾",聲明需要哪些行。WHERE 子句包含一個(gè)布爾表達(dá)式,只有那些布爾表達(dá)式為真的行才會(huì)被返回。允許你在條件中使用常用的布爾操作符(AND, OR, NOT)。比如,下面的查詢(xún)檢索舊金山的下雨天的天氣:

  SELECT * FROM weather

  WHERE city = 'San Francisco' AND prcp > 0.0;結(jié)果:

  city | temp_lo | temp_hi | prcp | date

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

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

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

  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在這個(gè)例子里,排序的順序并非絕對(duì)清晰的,因此你可能看到 San Francisco 行隨機(jī)的排序。但是如果你使用下面的語(yǔ)句,那么就總是會(huì)得到上面的結(jié)果

  SELECT * FROM weather

  ORDER BY city, temp_lo;你可以要求查詢(xún)的結(jié)果按照某種順序排序,并且消除重復(fù)行的輸出:

  SELECT DISTINCT city

  FROM weather; city

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

  Hayward

  San Francisco

  (2 rows)再次聲明,結(jié)果行的順序可能是隨機(jī)的。你可以組合使用 DISTINCT 和 ORDER BY 來(lái)獲取一致的結(jié)果:[2]

  SELECT DISTINCT city

  FROM weather

  ORDER BY city;注意

  [1] 雖然 SELECT * 可以把查詢(xún)的結(jié)果翻出來(lái),但我們普遍認(rèn)為在生產(chǎn)代碼中這是很糟糕的風(fēng)格,因?yàn)榻o表增加一個(gè)字段就改變了結(jié)果。

  [2] 在一些數(shù)據(jù)庫(kù)系統(tǒng)里,包括老版本的 PostgreSQL ,DISTINCT 自動(dòng)對(duì)行進(jìn)行排序,因此 ORDER BY 是多余的。但是這一點(diǎn)并不是 SQL 標(biāo)準(zhǔn)的要求,并且目前的 PostgreSQL 并不保證 DISTINCT 導(dǎo)致數(shù)據(jù)行被排序。

543023