1. 程式人生 > >【讀書筆記】【資料庫】SQL必知必會

【讀書筆記】【資料庫】SQL必知必會

第1課 瞭解SQL

簡單介紹了sql,和dbms,無重點。

第2課 檢索資料

重點:select語句,distinct,limit,註釋

1. select 語句如果沒有明確排序查詢結果,那麼返回的資料沒有特定的順序。返回資料的順序可能是資料被新增到表中的順序,也可能不是。只要返回相同數目的行,就是正常的。

2. 多條 SQL 語句必須用 ; (分號)分隔。

3. SQL不區分大小寫

4. SQL語句分行可讀性更好

5. 最好不要使用 * 這種萬用字元 select 表中所有的列

6. distinct 的使用。 distinct 關鍵字作用於所有的列,不僅僅是跟在其後的那一列。

7. limit n offset m 的使用。從 第 n 行開始的 m 行資料。(n is 0 based)

(mysql, mariaDB, SQLite 可以簡化 LIMIT 4 OFFSET 3  --> LIMIT 4, 3)

8. 註釋一般用 '--' 或者 '#' (單行註釋) 或者 '/*  */' (多行註釋)

第3課 排序檢索資料

重點:order by,

1. order by 應該是 select 語句中最後一條子句; 它也可以通過沒有被 select 的列進行排序 

2. 如何按照多個列排序。 需要理解的是下面列子中只有在多個行具有相同的 prod_price 值時才對產品按照 prod_name 進行排序。如果 prod_price 列中所有值都是唯一的,則不會按照 prod_name 排序。

 

select prod_id, prod_price, prod_name 
from Products
order by prod_price, prod_name

 

3. 按照列位置排序,(坦白講我覺得這個一般不會用到)

select prod_id, prod_price, prod_name 
from Products
order by 2, 3;

select 清單中指定的選擇列的相對位置排序。

 

第4課 過濾資料

第5課 高階過濾資料

第6課 用萬用字元進行過濾

第7課 建立計算欄位

第8課 使用函式處理資料

第9課 彙總資料

第10課 分組資料

第11課 使用子查詢

第12課 聯結表

第13課 建立高階聯結

第14課 組合查詢

第15課 插入資料

第16課 更新和刪除資料

第17課 建立和操縱表

第18課 使用檢視

第19課 使用儲存過程

第20課 管理事務處理

第21課 使用遊標

第22課 高階SQL特性

附錄