上一篇,要嘗試刪除語句
在想刪除主表後,其餘關聯表示不是需要手動刪除??
但這篇先不談這個
最近看到兩篇發現 sql delete 可以做 join 動作刪除!!!
先來筆記吧!!
- SQL:如何实现带有内连接的 DELETE? - 问答 - 云+社区 - 腾讯云
- SQL 中使用 update inner join 和 delete inner join - linFen - 博客园
發現可能不是每個 DB 都可以這樣做
db2 可能沒有!! IBM DELETE 介紹頁面
但為什麼我想一次做完呢?
因為現在 DB 我們公司做 auto commit
所以我想一次解決 XDD
指細看也沒有人說不要用
1 | -- DELETE 刪除大法 |
這邊有小提示
delete ...
from 中間是指要刪除的表格(可以使用自訂的 table)
這邊上面用 inner join 會遇到有一個問題
所以當關聯表沒資料,就不會刪掉
所以改成 left join 會比較好
強者我同事之前提過 letcode 有人這樣解題
leetcode/database/DeleteDuplicateEmails at master · int32bit/leetcode
1 | DELETE p1 FROM Person p1, |
MySQL DELETE JOIN: Deleting Data from Multiple Tables
先記到這樣!!!