13.1 數據分組mysql
若是要將數據分爲多個邏輯組怎麼辦??sql
要用數據分組調試
13.2 建立分組排序
使用group by子句。group by會指示對mysql進行分組,而後對每一個組進行彙集。select
注意:使用group by時,若是在select使用了表達式,則必須在group by 中使用相同的表達式,不可用別名引用
13.2 過濾分組im
因where條件篩選中並無分組概念,須要用having進行分組過濾,having支持全部的where操做符。數據
having與where的區別:where過濾行,having過濾分組查詢
13.4 分組和過濾vi
order by 與 group by
通常在使用group by時,也要用order by子句排序,千萬不要依賴group by的默認排序。
select子句順序,
14.1 子查詢subquery
子查詢的概念: 嵌套在其餘查詢中的查詢。
14.2 利用子查詢進行過濾
在select語句中,子查詢老是從內向外處理。但包含子查詢的SQL語句難以調試和閱讀
14.3 做爲計算字段使用子查詢
相關子查詢:涉及到外部查詢的子查詢,在where條件中應使用徹底限定列名,防止出現錯誤的查詢結果。
常見使用場景:
where子句中的IN操做符,以及填充計算列
15.1 聯結(join)表
15.1.1 爲何要出現關係表?
場景模擬:將相關源的數據分類保存
主鍵primary key與外鍵foreign key的概念:主鍵爲惟一標識
外鍵是某表中的一列,包含了另外一張表的主鍵值,定義了兩表間的關係
如何維護引用完整性?經過在表定義中指定主鍵和外鍵實現。
15.2 建立聯結
再次強調徹底限定列名的重要性。