MySQL 第三堂0330

多表格Join:


自我連結(Self Jion)


不相等連結(between and)


外部連接(left/right outer join)

左邊/右邊沒有符合條件的也要列出



外部連接(full outer join)

兩邊沒有符合條件的都要列出
但My SQL沒有full outer join
所以要使用union把左邊/右邊結合起來
UNION 使用條件: 兩個表格的欄位數量,型態要一樣


外部連接(left/right outer join) + union + is null

只取沒有符合條件的列出

子查詢(Sub-Queries)

子查詢可以放在where、select、from中


單筆紀錄子查詢(用於單筆資料的比較查詢)

單筆紀錄運算子:>、>=、<、<=、!=、=


多筆紀錄子查詢(用於多筆資料的比對查詢)

多筆紀錄運算子: IN、ANY、ALL
大於(小於)ANY : 比任一值還要大(小)
大於(小於)ALL : 比最大(小)值還要大(小)


Null值出現在子查詢中時

當子查詢中有Null值且運算式為NOT IN時,資料會無法傳回。

解決方法: 先排除子查詢中的Null值


相關子查詢(Correlated Subqueries)

概念與自我join很像,子父查詢都是同表格時,以別名來做處理。
特徵是子查詢若沒有父查詢無法自己獨力執行。


存在性測試(EXISTS)

EXISTS與子查詢結合可用於確認資料是否存在

資料處理語言(DML)

INSTER : 新增資料至資料表中。


UPDATE : 更新資料至資料表中。


DELTED : 刪除資料。

交易控制(Transaction Control)

1.交易處理時,會今過許多表單的新增、更新修改,而開始交易至交易結束最重要的就是要確認過程中不可有出錯。

2.若過程中有出錯,就必須取消交易,以確保不會出現資料不一致的問題,因此就會需要進行交易控制。

3. My SQL只有InnoDB才支援交易控制,基本控制項如下:


交易處理(Locking)說明




舉例說明:


錯誤回報

若筆記內有發現錯誤隨時可以登入後在這邊留言~

Select a repo