2017-09-10 14 views
2

mysqlデータベースに2つのテーブルがあります。mysqlデータベースのテーブルとの比較

テーブル "名前":

ID | name 
100 | smith 
136 | king 
224 | brown 
485 | miller 

と第二表 "住所が":

name_ID | adress 
100 | mainstreet 11 
101 | hiddleburger street 33 
102 | great avenue 1022 
103 | panorama avenue 687 
... | ... 

表の "名前" 私は4つのエントリ(ID 100、136、224を持っています、 485)。 テーブル "adresses"では、いくつかのhundretエントリがあります。

今、テーブル "名前"に一致する名前のない住所からすべてのエントリを削除します。 したがって、name_ID 100,136,224,485以外のすべてのアドレスエントリを削除します。

どうすればいいですか?どのようにそれらをテーブルと比較できますか?

ありがとうございました!

+0

「OUTER JOIN」、次に「WHERE ... IS NULL」です。それはあなたに "匹敵しない*"行を与えます –

答えて

1

NOT INとサブクエリ。おそらくこのようなもの:

delete from addresses where name_ID NOT IN (select ID from names); 

パフォーマンスはあまり良くないかもしれませんが、動作します。

関連する問題