除外するデータが大量にある場合に使うSQL


SQLで検索をかける際に、除外するデータが大量にある場合に使うSQLを教えてもらったので自分用にメモ。

IT/WEB業界への転職なら求人サイトGreen

やり方としては2通りありました。

NOT IN で除外する方法

NOT IN で除外する値を指定していきます。数個で良い場合は簡単ですね。

SELECT * FROM T1 WHERE フィールド名 
NOT IN("特定の値","特定の値","特定の値","特定の値");

除外リストテーブルを作る方法

別テーブルに除外リストを作る方法です。
除外したいデータが大量にある場合や、編集・追加が多い場合に便利です。

SELECT * FROM T1
WHERE NOT EXISTS(SELECT * FROM T2 WHERE T2.F1 = T1.F1)

以下のサイトを参考にさせていただきました。感謝!
http://oshiete.goo.ne.jp/qa/1426449.html

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

follow us in feedly