2017-07-18 105 views
-2

我有兩張表,我想從表A中刪除表B中的數據,請問我該怎麼做?基於其他表刪除表

+0

爲什麼-2請幫助我 –

+0

您使用的是什麼SQL方言/數據庫?你試過什麼了? –

回答

0

首先,這個網站是不是免費的代碼送禮者。你必須提供你所嘗試的,我們會幫助你。其次,你需要澄清你想要的東西......在你的問題中,你標記了多種SQL語言。

要執行此操作,可以使用許多技巧中的兩種: - 相關的子查詢和內部連接。

相關子查詢

DELETE FROM tableA WHERE EXISTS (SELECT field FROM tableB WHERE tableB .field = tableA.field) 

這適用於SQL SERVER(T-SQL),我相信也是MySQL的。

內連接 - 最有效的在我看來

DELETE a 
FROM TableA a 
INNER JOIN TableB b 
ON a.fieldA = b.fieldA 

再次,適用於SQL Server中,我相信也爲MySQL

從你自己的一些進一步的研究肯定會給你更多詳細資料。

+0

謝謝,但什麼是相關的子查詢 –

+0

@AliceSmith再次,谷歌是你最終的朋友在這裏! https://technet.microsoft.com/en-us/library/ms187638(v=sql.105).aspx –

+0

非常感謝你確實 –

0

試試這個

Delete from TAble A WHERE EXISTS(
    SELECT 1 from TABLE B WHERE B.ID=A.id) 
+0

嗨,謝謝你能解釋我的作業嗎? –

0

您是否知道您可以在DELETE語句中使用JOIN?

delete a 
from TableA a 
inner join TableB b on (a.id=b.id) 
+0

你怎麼做這個解釋plese –