一、從MySQL數據表A中把那些id值在數據表B裏有匹配的記錄全刪除掉sql
DELETE t2 FROM A t1,B t2 WHERE t1.id = t2.idblog
DELETE FROM t2 USING A t1,B t2 WHERE t1.id = t2.idim
【USING 的用法:d3
using()用於兩張表的join查詢,要求using()指定的列在兩個表中均存在,並使用之用於join的條件。數據
例如:SELECT * FROM A t1 LEFT JOIN B t2 USING(id)查詢
等同於:SELECT * FROM At1 LEFT JOIN B t2 ON t1.id = t2.Idimg
】co
二、 從MySQL數據表A裏在數據表B裏沒有匹配的記錄查找出來並刪除掉join
DELETE t1 FROM A t1 LEFT JOIN B t2 ON t1.id = t2.id WHERE t2.id IS NULLd3
DELETE FROM t1 USING At1 LEFT JOIN B t2 ON t1.id = t2.id WHERE t2.id IS NULL
【被刪除數據的表選擇如上】
三、從兩個表中找出相同記錄的數據並把兩個表中的數據都刪除掉
DELETE t1,t2 FROM A t1 LEFT JOIN B t2 ON t1.Id = t2.id where t1.Id = 2 【適用Mysql 5.0以上版本】
【加WHERE條件則刪除知足WHERE條件的兩個表數據。
不加WHERE,則基表數據會所有被刪除,鏈接表中和基表相同的數據所有被刪除】