<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # SQLite `SELECT`語句 > 原文: [http://zetcode.com/db/sqlite/select/](http://zetcode.com/db/sqlite/select/) SQLite 教程的這一部分詳細介紹了 SQLite `SELECT`語句的實現。 ## SQLite 檢索所有數據 以下 SQL 語句是最常見的語句之一。 它也是最昂貴的之一。 ```sql sqlite> SELECT * FROM Cars; Id Name Price ---------- ---------- ---------- 1 Audi 52642 2 Mercedes 57127 3 Skoda 9000 4 Volvo 29000 5 Bentley 350000 6 Citroen 21000 7 Hummer 41400 8 Volkswagen 21600 ``` 在這里,我們從`Cars`表中檢索所有數據。 ### SQLite 選擇特定列 我們可以使用`SELECT`語句來檢索特定的列。 列名緊隨`SELECT`字。 ```sql sqlite> SELECT Name, Price FROM Cars; Name Price ---------- ---------- Audi 52642 Mercedes 57127 Skoda 9000 Volvo 29000 Bentley 350000 Citroen 21000 Hummer 41400 Volkswagen 21600 ``` 我們檢索`Name`和`Price`列。 列名用逗號分隔。 ### SQLite 重命名列名 我們可以重命名返回結果集的列名。 為此,我們使用`AS`子句。 ```sql sqlite> SELECT Name, Price AS 'Price of car' FROM Cars; Name Price of car ---------- ------------ Audi 52642 Mercedes 57127 Skoda 9000 Volvo 29000 Bentley 350000 Citroen 21000 Hummer 41400 Volkswagen 21600 ``` 通過上面的 SQL 語句,我們將`Price`列重命名為`Price of car`。 ## SQLite 限制數據輸出 如上所述,在處理大量數據時,檢索所有數據非常昂貴。 我們可以使用`LIMIT`子句來限制該語句返回的數據量。 ```sql sqlite> SELECT * FROM Cars LIMIT 4; Id Name Price ---------- ---------- ---------- 1 Audi 52642 2 Mercedes 57127 3 Skoda 9000 4 Volvo 29000 ``` `LIMIT`子句將返回的行數限制為 4。 ```sql sqlite> SELECT * FROM Cars LIMIT 2, 4; Id Name Price ---------- ---------- ---------- 3 Skoda 9000 4 Volvo 29000 5 Bentley 350000 6 Citroen 21000 ``` 該語句選擇四行,跳過前兩行。 `LIMIT`之后的`OFFSET`子句指定在結果集的開頭要跳過多少行。 這是上一個解決方案的替代方案。 ```sql sqlite> SELECT * FROM Cars LIMIT 4 OFFSET 2; Id Name Price ---------- ---------- ---------- 3 Skoda 9000 4 Volvo 29000 5 Bentley 350000 6 Citroen 21000 ``` 在這里,我們從最多四行中選擇所有數據,然后從第三行開始。 `OFFSET`子句跳過前兩行。 ## SQLite 排序數據 我們使用`ORDER BY`子句對返回的數據集進行排序。 `ORDER BY`子句后面是進行排序的列。 `ASC`關鍵字以升序對數據進行排序,`DESC`則以降序對數據進行排序。 ```sql sqlite> SELECT * FROM Cars ORDER BY Price; Id Name Price ---------- ---------- ---------- 3 Skoda 9000 6 Citroen 21000 8 Volkswagen 21600 4 Volvo 29000 7 Hummer 41400 1 Audi 52642 2 Mercedes 57127 5 Bentley 350000 ``` 默認排序為升序。 `ASC`子句可以省略。 ```sql sqlite> SELECT Name, Price FROM Cars ORDER BY Price DESC; Name Price ---------- ---------- Bentley 350000 Mercedes 57127 Audi 52642 Hummer 41400 Volvo 29000 Volkswagen 21600 Citroen 21000 Skoda 9000 ``` 在上面的 SQL 語句中,我們從`Cars`表中選擇`Name`和`Price`列,并按汽車的`Price`降序對其進行排序。 因此,最昂貴的汽車排在第一位。 ## SQLite 按更多列排序數據 可以按多于一列的順序訂購數據。 ```sql sqlite> INSERT INTO Cars(Name, Price) VALUES('Fiat', 9000); sqlite> INSERT INTO Cars(Name, Price) VALUES('Tatra', 9000); ``` 在此示例中,我們添加了兩輛價格為 9000 的汽車。 ```sql sqlite> SELECT * FROM Cars ORDER BY Price, Name DESC; Id Name Price ---------- ---------- ---------- 10 Tatra 9000 3 Skoda 9000 9 Fiat 9000 6 Citroen 21000 8 Volkswagen 21600 4 Volvo 29000 7 Hummer 41400 1 Audi 52642 2 Mercedes 57127 5 Bentley 350000 ``` 在語句中,我們按兩列對數據進行排序:價格和名稱。 名稱按降序排列。 ## SQLite 使用`WHERE`選擇特定行 下一組示例使用`Orders`表。 ```sql sqlite> SELECT * FROM Orders; Id OrderPrice Customer ---------- ---------- ---------- 1 1200 Williamson 2 200 Robertson 3 40 Robertson 4 1640 Smith 5 100 Robertson 6 50 Williamson 7 150 Smith 8 250 Smith 9 840 Brown 10 440 Black 11 20 Brown ``` 在這里,我們看到`Orders`表中的所有數據。 接下來,我們要選擇一個特定的行。 ```sql sqlite> SELECT * FROM Orders WHERE Id=6; Id OrderPrice Customer ---------- ---------- ---------- 6 50 Williamson ``` 上面的 SQL 語句選擇具有 ID 6 的行。 ```sql sqlite> SELECT * FROM Orders WHERE Customer="Smith"; Id OrderPrice Customer ---------- ---------- ---------- 4 1640 Smith 7 150 Smith 8 250 Smith ``` 上面的 SQL 語句選擇`Smith`客戶的所有訂單。 我們可以使用`LIKE`子句在數據中查找特定的模式。 ```sql sqlite> SELECT * FROM Orders WHERE Customer LIKE 'B%'; Id OrderPrice Customer ---------- ---------- ---------- 9 840 Brown 10 440 Black 11 20 Brown ``` 該 SQL 語句從名稱以字母 B 開頭的客戶中選擇所有訂單。 ## SQLite 刪除重復項 `DISTINCT`子句用于從結果集中僅選擇唯一項。 ```sql sqlite> SELECT Customer FROM Orders WHERE Customer LIKE 'B%'; Customer ---------- Brown Black Brown ``` 這次,我們選擇了名稱以 B 開頭的客戶。我們可以看到 Brown 出現了兩次。 要刪除重復項,我們使用`DISTINCT`關鍵字。 ```sql sqlite> SELECT DISTINCT Customer FROM Orders WHERE Customer LIKE 'B%'; Customer ---------- Black Brown ``` 這是正確的解決方案。 ## SQLite 組數據 `GROUP BY`子句用于將具有相同值的數據庫記錄組合到單個記錄中。 它通常與聚合函數一起使用。 假設我們想找出每個客戶的訂單總和。 ```sql sqlite> SELECT sum(OrderPrice) AS Total, Customer FROM Orders GROUP BY Customer; Total Customer ---------- ---------- 440 Black 860 Brown 340 Robertson 2040 Smith 1250 Williamson ``` `sum()`函數返回數字列的總和。 `GROUP BY`子句將總金額分配給客戶。 因此,我們可以看到`Black`訂購了 440,`Smith`訂購了 2040 個商品。 使用聚合函數時,不能使用`WHERE`子句。 我們改用`HAVING`子句。 ```sql sqlite> SELECT sum(OrderPrice) AS Total, Customer FROM Orders GROUP BY Customer HAVING sum(OrderPrice)>1000; Total Customer ---------- ---------- 2040 Smith 1250 Williamson ``` 上面的 SQL 語句選擇總訂單量大于 1000 個單位的客戶。 在 SQLite 教程的這一部分中,我們更詳細地描述了 SQL `SELECT`語句。
                  <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>

                              哎呀哎呀视频在线观看