文章詳情頁
MySQL語句執行順序和編寫順序實例解析
瀏覽:71日期:2023-10-14 13:48:11
select語句完整語法:
SELECT DISTINCT <select_list>FROM <left_table><join_type> JOIN <right_table>ON <join_condition>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition>ORDER BY <order_by_condition>LIMIT <limit_number>
執行順序:
from →join →on →where →group by→having→select→order by→limit
(1)各個關鍵詞的作用:
from:需要從哪個數據表檢索數據,如果有join則對 FROM 子句中的前兩個表執行笛卡爾積(交叉聯接),生成臨時表(n×m行)
on:對以上臨時表進行條件篩選
left/right (join):補充左表或右表保持完整。如果有關聯多個表,則中間表對下個表繼續以上兩步的操作
where:過濾表中數據的條件 group by:如何將上面過濾出的數據分組sum:聚合函數
having:對上面已經分組的數據進行過濾的條件 select:查看結果集中的哪個列,或列的計算結果distinct:
order by :按照什么樣的順序來查看返回的數據 limit:限制查詢結果返回的數量(2)on與where的用法區別:
a.on后面的篩選條件主要是針對的是關聯表【而對于主表刷選條件不適用】。 b.如果是想再連接完畢后才篩選就應把條件放置于where后面。對于關聯表我們要區分對待。如果是要條件查詢后才連接應該把查詢件放置于on后。 c.對于主表的篩選條件應放在where后面,不應該放在on后面(3)having和where的用法區別:
a.having只能用在group by之后,對分組后的結果進行篩選(即使用having的前提條件是分組)。 b.where肯定在group by 之前,即也在having之前。 c.where后的條件表達式里不允許使用聚合函數,而having可以。(4)count用法
使用count(列名)當某列出現null值的時候,count(*)仍然會計算,但是count(列名)不會。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
上一條:mysql數據庫是做什么下一條:淺談MySql 視圖、觸發器以及存儲過程
相關文章:
1. 恢復從 Access 2000、 Access 2002 或 Access 2003 中數據庫刪除表的方法2. Microsoft Office Access修改代碼字體大小的方法3. ACCESS轉SQL數據庫相關的幾個技能4. mysql數據存放的位置在哪5. Mysql入門系列:MYSQL創建、刪除、索引和更改表6. Mysql入門系列:建立MYSQL客戶機程序的一般過程7. 啟動MYSQL出錯 Manager of pid-file quit without updating file.8. MySQL中InnoDB和MyISAM類型的差別9. DB2 XML 全文搜索之為文本搜索做準備10. Microsoft Office Access設置默認日期為當前日期的方法
排行榜
