2011-03-29 65 views
2

我想根據另一個表從表中刪除記錄。 例如這是基表:根據另一個表從表中刪除

table1: 
License Major 
9   0012 
8   0015 
7   0018 
9   0019 

,我想根據表2,刪除在表1項:

table2: 
License Major 
8   0015 
7   0018 
9   0019 

是這樣的:

delete from table1 
where table1.license=table2.license 
     and table1.major=table2.major 

回答

3

DELETE FROM語法來在這裏非常方便。

  • 第二個FROM子句是一個簡單的INNER JOIN選擇所有的匹配記錄。
  • 第一個FROM子句刪除了與第二個子句匹配的table1中的所有內容。

SQL語句

DELETE FROM t1 
FROM table1 t1 
     INNER JOIN table2 t2 ON t2.License = t1.License 
           AND t2.Major = t1.Major 
2

(同樣適用)

delete table1 
from table2 
where table1.license=table2.license and table1.major=table2.major 
相關問題