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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                #### 基本語法(查詢所有字段) ~~~ select * from 表名; ~~~ #### 基本語法(根據字段查詢value) ~~~ select 字段1,字段2,字段3 from 表名; ~~~ #### 完整的數據查詢 ~~~ select 選項 字段列表 from 數據源 where條件 group by分組 having條件 order by排序 limit限制; ~~~ ~~~ select * from 數據源; //這部分是查詢主句 ~~~ ~~~ where條件 group by分組 having條件 order by排序 limit限制; //這部分是條件查詢五子句 ~~~ #### select選項 : 系統該如何對待查詢得到的結果. 1. all : 默認的,表示保存所有的記錄. 2. distinct : 去重,去除重復的記錄(所有字段都是重復的),只保留一條. #### 去重 ~~~ select distinct * from 表名; ~~~ #### 字段別名 有的時候需要從多張表獲取數據,在獲取數據的時候,可能存在不同表中有同名的字段,需要將同名的字段命名成不同名的:別名 alias . ~~~ select 字段名 as 別名 from 表名; ~~~ #### from : 1. from 是為前面的查詢提供數據 : 數據源只要是一個符合二維表結構的數據即可. #### 多表數據 ~~~ select * from 表1,表2; ~~~ 結果:兩張表的記錄數相乘,字段數拼接 本質:從第一張表取出一條記錄,去拼湊第二張表的所有記錄,保留所有結果。得到的結果在數學上有一個專業的說法:笛卡爾積,這個結果出了給數據庫造成壓力,沒有其他意義:應該盡量避免出現笛卡爾積. #### 動態數據 1. from 后面跟的數據不是一個實體表,而是一個從表中查詢出來得到的二維結果表(子查詢) 語法: ~~~ select * from (select 字段列表 from 表) as 別名; ~~~ #### where子句(判斷最原始的數據) 1. 用來從數據表獲取數據的時候,然后進行條件篩選. 2. 數據獲取原理 : 針對表去對應的磁盤處獲取所有的記錄(一條條獲取的),where的作用就是在拿到一條結果后就進行判斷,判斷是否符合條件,如果符合就保存下來,如果不符合就直接舍棄(不放到內存中,放到內存中的都是最終要展示給用戶看的). 3. where本身不能進行判斷, 而是通過運算符進行結果比較來判斷數據. #### group by子句 語法: ~~~ group by 字段名 ~~~ 1. group by 表示分組的含義,根據指定的字段,將數據進行分組,**分組的目的是為了統計**. 2. Group by是為了分組后進行數據統計的,如果只是想看數據顯示,那么group by沒什么含義:group by將數據按照指定的字段分組之后,只會保留每組的第一條記錄. 3. 利用一些統計函數:(聚合函數) * count():統計每組中的數量,如果統計目標是字段,那么不統計為空NULL字段,如果為*那么代表統計記錄 * avg():求平均值. * sum():求和. * max():求最大值. * min():求最小值. * group_concat : 為了將分組中指定的字段進行合并(字符串拼接). #### 多分組 將數據按照某個字段進行分組之后,對已經分組的數據進行再次分組. 語法: ~~~ group by 字段1,字段2,字段3 ~~~ #### 分組排序 Mysql中,分組默認有排序的功能:按照分組字段進行排序,默認是升序. 語法: ~~~ group by 字段 [ asc | desc ] ~~~ #### having字句 Having的本質和where一樣,是用來進行數據條件篩選. 1. Having是在group by子句之后:可以針對分組數據進行統計篩選,但是where不行. 2. Where不能使用聚合函數:聚合函數是用在group by分組的時候,where已經運行完畢. 3. Having在group by分組之后,可以使用聚合函數或者字段別名(where是從表中取出數據,別名是在數據進入到內存之后才有的). 4. 強調:having是在group by之后,group by是在where之后:where的時候表示將數據從磁盤拿到內存,where之后的所有操作都是內存操作. #### order by 字句 order by排序:根據校對規則對數據進行排序 語法 ~~~ order by 字段 [ asc | desc ]; //asc升序,默認的 ~~~ 1. Order by也可以像group by一樣進行多字段排序:先按照第一個字段進行排序,然后再按照第二個字段進行排序。 ~~~ order by 字段1 規則,字段2 規則; ~~~ #### limit 子句 純粹的限制獲取的數量:從第一條到指定的數量. 語法 : ~~~ limit offset length //offset:偏移量(從哪開始) , length :長度(獲取多少條). ~~~ 1. Limit通常在查詢的時候如果限定為一條記錄的時候,使用的比較多:有時候獲取多條記錄并不能解決業務問題,但是會增加服務器的壓力. 2.
                  <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>

                              哎呀哎呀视频在线观看