<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 2.5\. 查詢一個表 要從一個表中檢索數據就是_查詢_這個表。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; ``` ### Notes \[1\] 雖然`SELECT *`對于即興的查詢是有用的,但我們普遍認為在生產代碼中 這是很糟糕的風格,因為給表增加一個字段就改變了結果。 \[2\] 在一些數據庫系統里,包括老版本的PostgreSQL, `DISTINCT`自動對行進行排序,因此`ORDER BY` 是多余的。但是這一點并不是 SQL 標準的要求,并且目前的PostgreSQL 并不保證`DISTINCT`導致數據行被排序。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看