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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 數據檢索操作 ## 簡單的數據檢索 * **指定字段的數據記錄查詢** 如果某張表的字段較多,但是在具體的某個場景中,只需要用到部分字段的信息,使用該查詢。 語法: ```sql SELECT field1, field2,... FROM table_name [WHERE condition] [ORDER BY field1 ASC/DESC, field2 ASC/DESC,...] ``` 示例: ```sql SELECT course.name AS '名稱', course.code AS '編碼' FROM c AS course ``` > 我們習慣的會在查詢中指定表的別名,同樣在字段上寫可以定義別名。 * **查詢所有數據** 使用通配符`*`查詢 語法: ```sql SELECT * FROM table_name [WHERE condition] ``` > 此處遍歷出來的數據的順序是創建表中字段的順序。 * **避免重復數據的查詢** 使用關鍵字:DISTINCT > 例如要查詢有在校生的班級編號,就可以使用 DISTINCT 關鍵字,查詢 stu\_info 表。 > > 在使用 DISTINCT 查詢時要注意:其效率較低的。 ```sql SELECT DISTINCT clazz FROM stu_info ``` * **查詢數據處理** * 數學運算的數據結果處理:+ - \* / % ```sql SELECT name, price AS '人民幣', price/6 AS '美元' FROM t_menu ``` * 格式化的數據處理 使用CONCAT\(STR1, STR2, ...\)進行字符串拼接是最常用的。 ```sql SELECT name, CONCAT('¥',price) AS '人民幣', CONCAT('$',price/6) AS '美元' FROM t_menu ``` ## 條件查詢 * 帶關系運算符和邏輯運算符的表達式; * 帶 BETWEEN AND 關鍵字的條件查詢; * 帶 IS NULL 關鍵字的條件查詢; * 帶 IN 關鍵字的條件查詢; * 帶 LIKE 關鍵字的條件查詢。 **關系運算符和邏輯運算符** 關系運算符:&gt;、 &gt;=、 &lt;、 &lt;=、 !=\(&lt;&gt;\)、 =; 邏輯運算符:AND\(&&\)、OR\(\|\|\)、NOT\(!\)、XOR。 示例: ```sql SELECT * FROM stu_info WHERE age >= 18 AND clazz = 'C1' AND code = '01' ``` **BETWEEN ADN** > 一般用在對數值或者日期的區間判斷條件中,而且是可以被替代的。 ```sql SELECT * FROM stu_info WHERE age BETWEEN 16 AND 20 SELECT * FROM stu_info WHERE age >= 16 AND age <=20 -- 使用 NOT 取反 SELECT * FROM stu_info WHERE NOT (age >= 16 AND age <=20) ``` **IS NULL** > 判斷數據結果集中非空元素,要注意的是:NULL 和 空字符串是兩個概念,使用的查詢條件不盡相同 ```sql SELECT * FROM stu_info WHERE name IS NULL; SELECT * FROM stu_info WHERE name = ''; -- 判斷空字符串 ``` 使用非空判斷是要注意 ```sql SELECT * FROM stu_info WHERE name IS NOT NULL ``` **IN** > 條件在某些離散的數據范圍內 ```sql SELECT * FROM stu_info WHERE clazz IN ('C1', 'C2'); -- 替代方案 SELECT * FROM stu_info WHERE clazz = 'C1' OR clazz = 'C2' ``` LIKE > 模糊查詢:用的較多,一般用到的是全匹配 `%搜索字%`,尾部匹配 `搜索字%` > > 其他還有單個字匹配 `_` 和首部匹配 `%搜索字` ```sql SELECT * FROM stu_info WHERE name LIKE '李_強'; SELECT * FROM stu_info WHERE name LIKE '李%'; SELECT * FROM stu_info WHERE name LIKE '%李%'; ``` ## 數據排序 > 數據的排序方式:順序 ASC、逆序 DESC。 > > 在排序中是可以多字段排序的,即會有第一排序條件和第二、三...次排序條件 ```sql SELECT * FROM stu_info ORDER BY clazz ASC, code DESC ``` ## 限制數據記錄數量 使用 LIMIT 關鍵字,后面跟兩個參數,第一個參數是從第幾條開始,第二個是一共顯示多少條記錄 ```sql SELECT * FROM stu_info ORDER BY clazz ASC, code DESC LIMIT 9, 3 -- 顯示 page 頁,每頁顯示 num 條記錄 -- page = 2; num = 3; -- x = (page - 1) * num -- y = num ``` ## 統計函數和分組查詢 例如要查詢: * 每個班級有多少學生; * 每個班級中年齡最大的學生是誰; > 對于一個較完整的 SQL 語句執行的解釋 ```sql SELECT clazz,MAX(age) AS '最大年齡', COUNT(*) AS '多少人' FROM stu_info WHERE id > 2 GROUP BY clazz HAVING count(*) > 1 ORDER BY MAX(age) DESC ``` 執行順序 1. 篩選整個表找那個`id > 2` 的數據; 2. 把篩選出的記錄按照 `clazz` 字段進行分組; 3. 把分組完的結果,篩選出每組數據總數量 &gt; 1的數據 `count(*) > 1`; 4. 按照分組后的字段進行排序 `MAX(age) DESC`; 5. 按照 SELECT 中要求顯示的字段輸出結果集。 **常用的統計函數** COUNT:在實際開發中,會使用 COUNT 函數計算條件查詢后的總數據量,用于計算總頁數。另外用在分組聚合函數中求分組單元中的數據量。 SUM/AVG/MAX/MIN:自學。 分組查詢語法: ```sql SELECT 分組完的字段1, 分組完的字段2, ... FROM 表名 [WHERE 全局表的過濾條件] [GROUP BY 表字段1, 表字段2 HAVING 分組完成后的過濾條件(可以加聚合) ] [ORDER BY 分組完的字段1 ASC/DESC, 分組完的字段2 ASC/DESC,...] ```
                  <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>

                              哎呀哎呀视频在线观看