1. 程式人生 > 資料庫 >mysql的必學知識

mysql的必學知識

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 建立聯結

再次強調完全限定列名的重要性。