<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # SQL ## 基本增刪改查 > insert delete update select > > from XXX > > where XXX ## 排序查詢 > ``` > order by > ``` > > 排序查詢語句應在分組查詢之后,limit語句之前 ### 分組查詢 > ``` > group by > ``` > > 和分組函數一同查詢的字段必須是group by后出現的字段 > > 篩選分為兩類:分組前篩選和分組后篩選 > > 分組可以按單個字段也可以按多個字段 > > 可以搭配著排序使用 > > 對分組之后的字段、函數進行條件判斷,使用having,并在group by之后 > > 分組查詢語句應在where語句之后,排序查詢語句之前 ## 常見函數 > 單行函數 > > 分組函數:做統計使用,又稱為統計函數、聚合函數、組函數 > 常見: > > 一、單行函數 > > ? 字符函數: > > > length:獲取字節個數(utf-8一個漢字代表3個字節,gbk為2個字節) > > > > concat > > substr > > instr > > trim :去除字符串中空格或指定字符 > > upper:大寫 > > > > lower:小寫 > > > > lpad:左填充 > > > > rpad:右填充 > > > > replace :替換 > > ? 數學函數: > > > round > > > > ceil:取整 > > > > floor > > > > truncate > > > > mod:取余 > > 日期函數: > > > now > > > > curdate > > curtime > > year > > month > > monthname > > day > > hour > > minute > > second > > str_to_date > > > > date_format > > 其他函數: > > > version > > database > > user > > 控制函數: > > > if > > > > case ## 連接查詢 即多表聯查 笛卡爾乘積現象:表1 有m行,表2有n行,結果=m*n行 > 發生原因:沒有有效的連接條件 > 如何避免:添加有效的連接條件 > > 分類: > > 按年代分類: > sql92標準:僅僅支持內連接 > sql99標準【推薦】:支持內連接+外連接(左外和右外)+交叉連接 > > 按功能分類: > 內連接: > 等值連接 A-B a.id = b.a_id > 非等值連接 一般對區間的判斷 > 自連接 A-A > 外連接: > 左外連接 > 右外連接 > 全外連接 > > 交叉連接 ### 等值連接 > ① 多表等值連接的結果為多表的交集部分 > ②n表連接,至少需要n-1個連接條件 > ③ 多表的順序沒有要求 > ④一般需要為表起別名 > ⑤可以搭配前面介紹的所有子句使用,比如排序、分組、篩選 ### 非等值連接 > ``` > SELECT > salary,grade_level > FROM employees e,job_grades g > WHERE salary BETWEEN g.`lowest_sal` AND g.`highest_sal` AND…… > ``` ### 自連接 > ``` > > SELECT > e.employee_id,e.last_name,m.employee_id,m.last_name > FROM employees e,employees m > WHERE e.`manager_id`=m.`employee_id`; > ``` ### 外連接 > 左外連接還返回左表中不符合連接條件單符合查詢條件的數據行。 > 右外連接還返回右表中不符合連接條件單符合查詢條件的數據行。 > 全外連接還返回左表中不符合連接條件單符合查詢條件的數據行,并且還返回右表中不符合連接條件單符合查詢條件的數據行。全外連接實際是上左外連接和右外連接的數學合集(去掉重復),即“全外=左外 UNION 右外”。 > 說明:左表就是在“(LEFT OUTER JOIN)”關鍵字左邊的表。右表當然就是右邊的了。在三種類型的外連接中,OUTER 關鍵字是可省略的。 > > > 左外連接 > > > > ``` > > SELECT O.ID,O.ORDER_NUMBER,O.CUSTOMER_ID,C.ID,C.NAME > > FROM ORDERS O LEFT OUTER JOIN CUSTOMERS C ON C.ID=O.CUSTOMER_ID; > > ``` > > > 右外連接 > > > > ``` > > SELECT O.ID,O.ORDER_NUMBER,O.CUSTOMER_ID,C.ID,C.NAME > > FROM ORDERS O RIGHT OUTER JOIN CUSTOMERS C ON C.ID=O.CUSTOMER_ID; > > ``` > > > 全外連接 > > > > ``` > > SELECT O.ID,O.ORDER_NUMBER,O.CUSTOMER_ID,C.ID,C.NAME > > FROM ORDERS O FULL OUTER JOIN CUSTOMERS C ON C.ID=O.CUSTOMER_ID; > > ``` > > 注意:WHERE條件放在ON后面查詢的結果是不一樣的。因此, 在寫連接查詢的時候,ON后面只跟連接條件,而對中間表限制的條件都寫到WHERE子句中。
                  <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>

                              哎呀哎呀视频在线观看