除外するデータが大量にある場合に使うSQL
SQLで検索をかける際に、除外するデータが大量にある場合に使うSQLを教えてもらったので自分用にメモ。
やり方としては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
最新情報をお届けします