一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - mysql支持跨表delete刪除多表記錄

mysql支持跨表delete刪除多表記錄

2019-12-14 15:52MYSQL教程網 Mysql

Mysql可以在一個sql語句中同時刪除多表記錄,也可以根據多個表之間的關系來刪除某一個表中的記錄

前幾天寫了Mysql跨表更新的一篇總結,今天我們看下跨表刪除。 
在Mysql4.0之后,mysql開始支持跨表delete。 
Mysql可以在一個sql語句中同時刪除多表記錄,也可以根據多個表之間的關系來刪除某一個表中的記錄。 
假定我們有兩張表:Product表和ProductPrice表。前者存在Product的基本信息,后者存在Product的價格。 
第一種跨表刪除的方式是不用join,在delete時指定用半角逗號分隔多個表來刪除,如下sql語句: 

復制代碼代碼如下:


DELETE p.*, pp.* 
FROM product p, productPrice pp 
WHERE p.productId = pp.productId 
AND p.created < '2004-01-01' 


第二種跨表刪除的方式是使用inner join在join中指定兩表之間的關聯關系,如下sql語句: 

復制代碼代碼如下:


DELETE p.*, pp.* 
FROM product p 
INNER JOIN productPrice pp 
ON p.productId = pp.productId 
WHERE p.created < '2004-01-01' 


注意:跨表刪除不必刪除所有表的數據,上面的sql語句表會同時刪除Product和ProductPrice兩張表中的數據,但是你可以指定 DELETE product.*從而只刪除product表中的記錄,而不處理ProductPrice表中的記錄。 

跨表刪除也可以使用left join,例如我們要刪除所有在ProductPrice表中沒有記錄的Product表記錄。如下sql語句: 

復制代碼代碼如下:


DELETE p.* 
FROM product p 
LEFT JOIN productPrice pp 
ON p.productId = pp.productId 
WHERE pp.productId is null 


跨表刪除很有用,在需要的時候就用它吧。歡迎閱讀另外一篇關于跨表更新的介紹文章

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91狠狠| 久久久无码精品亚洲A片猫咪 | 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | ova巨公主催眠1在线观看 | 特级夫妻大片免费在线播放 | 精品视频国产 | 日本国产成人精品视频 | 亚洲国产精品久久精品成人网站 | 欧美va在线 | 国产精品色爱综合网 | 亚州春色 | 精品视频在线播放 | 成人网久久 | 精品小视频在线观看 | 二次元美女扒开内裤露尿口 | 亚洲国产日韩欧美在线vip1区 | 国产一区二区精品久 | 亚洲啊v天堂| 爱爱小视频免费看 | 四虎影院观看 | 日本丰满大乳乳奶 | les在宿舍吃她奶 | 免费看国产精品久久久久 | crdy在线看亚洲 | 国产欧美综合精品一区二区 | 亚洲无总热门 | cao逼视频| 俄罗斯12一15处交 | 天天狠天天天天透在线 | 奇米色88欧美一区二区 | 四虎影院永久在线 | 日韩福利网站 | 国产成人精品视频午夜 | 91精品国产免费久久 | china外卖员gay帮口 | 国产亚洲精品自在线亚洲情侣 | 丝袜高跟小说 | 91嫩草国产在线观看免费 | 明星ai人脸替换脸忘忧草 | 成人国产在线播放 | 五月婷婷丁香色 |