テーブル上に存在しないデータの一覧を取りたい。
mysql+phpで開発を行っています。
テーブル
id
101
102
104
106
109
110
の様にデータが入っているテーブルaaaがあります。
プログラムで取得したid一覧が上記テーブルにレコードがあるのか確認するSQLは
例)select id from aaa where id in (101,102)
で取得できるということは分かっています。
ここで
select id from aaa where id in (102,103)
とやると102の1件が取得できます。
今回知りたいことは
逆に取得できなかった103という値を取得する方法はないのかという事です。
select id from aaa where id=102;
select id from aaa where id=103;
2回SQLを実行して値が戻ってこないSQL=テーブルにそのレコードが無いというプログラムを書けばいい事は分かっています。
しかし、処理が少なくとも数千回発生してしまう予定ですのでできれば別の方法がいいと思っています。
また、in区で使っている一覧はテーブルには入っておらず、また、こちらも数千個あるので、一時テーブルに入れるといってもかなりの時間がかかってしまうと思います。
何か一発で取得できるいい方法などありますでしょうか?
ちなみにaaaテーブルは5万件ほどなので全件php側でメモリに展開してサーチも避けたいです
よろしくお願いいたします。
補足
ご連絡有難うございます。 ログデータからの抽出方法が判りませんでしたので、 今回ご質問させて頂きました。