2014-03-04 43 views
0

假設我有表(t1)其中列id是(1,2,3,4,5,6,7,8,9)和另一個表(t2)其中ID列是(1,2,3,4,5)。刪除表(加入)

我想從表t1刪除條目,使T1 ID列將成爲(1,2,3,4,5)

我試過內連接和全外連接,但他們沒有制定出。 我現在這是一個簡單的問題,但我無法過來。 在此先感謝

+2

看來您可能在數據庫中存在一些完整性問題。嘗試使用約束和外鍵,您將節省時間清理孤兒ID。 P.S.這並不能使約翰回答不太正確。我只是一個評論。 – borjab

回答

2

嘗試

DELETE from t1 where t1.ID not in (SELECT ID FROM t2) 

所以你沒有必要在這種情況下加入。

+0

正是我需要的。謝謝 –

+1

隨時接受答案:) –

+2

當然,10分鐘後 –

1

嘗試這種情況:

DELETE FROM t1 WHERE id NOT IN (SELECT id FROM t2) 

IN操作者確定一個指定的值是否在子查詢或列表中的任何值匹配。

語法:

test_expression [NOT] IN 
    (subquery | expression [ ,...n ] 
    ) 

瞭解更多關於IN運營商here