mysql的必學知識
阿新 • • 發佈:2020-11-30
13.1 資料分組
如果要將資料分為多個邏輯組怎麼辦??
要用資料分組
13.2 建立分組
使用group by子句。group by會指示對mysql進行分組,然後對每個組進行聚集。
注意:使用group by時,如果在select使用了表示式,則必須在group by 中使用相同的表示式,不可用別名
13.2 過濾分組
因where條件篩選中並沒有分組概念,需要用having進行分組過濾,having支援所有的where操作符。
having與where的區別:where過濾行,having過濾分組
13.4 分組和過濾
order by 與 group by
一般在使用group by時,也要用order by子句排序,千萬不要依賴group by的預設排序。
select子句順序,
chapter 14 使用子查詢
14.1 子查詢subquery
子查詢的概念: 巢狀在其他查詢中的查詢。
14.2 利用子查詢進行過濾
在select語句中,子查詢總是從內向外處理。但包含子查詢的SQL語句難以除錯和閱讀
14.3 作為計算欄位使用子查詢
相關子查詢:涉及到外部查詢的子查詢,在where條件中應使用完全限定列名,防止出現錯誤的查詢結果。
常見使用場景:
where子句中的IN操作符,以及填充計算列
chapter 15 聯結表
15.1 聯結(join)表
15.1.1 為什麼要出現關係表?
場景模擬:將相關源的資料分類儲存
主鍵primary key與外來鍵foreign key的概念:主鍵為唯一標識
外來鍵是某表中的一列,包含了另一張表的主鍵值,定義了兩表間的關係
如何維護引用完整性?通過在表定義中指定主鍵和外來鍵實現。
15.2 建立聯結
再次強調完全限定列名的重要性。