このディレクトリの索引
http://pc11.2ch.net/test/read.cgi/db/1252492296/889
#  質問です。DBMSはOracle10gです。 
#   
#  ユニークな数値IDをキーとしたテーブルがあります。 
#  IDは連続した値にはなりません。 
#   
#  ID   | hoge 
#  ----+--------- 
#  001 | aaa 
#  003 | bbb 
#  047 | ccc 
#  084 | ddd 
#  120 | eee 
#  401 | fff 
#  645 | ggg 
#   
#  IDは1000万まで取り得ます。 
#  ここから、1〜1000万までの間で、テーブルに存在しないIDのみを取り出すには 
#  どのように書いたら良いでしょうか? 
#   
#  1〜1000万までのIDを埋めた別テーブルと外部結合して、 
#  元テーブルのIDがnullのものを取るしかないかな・・・? 
# 
# 

'1〜1000万までの間で、テーブルに存在しないIDのみを取り出す'(ID) :-
      for(1,ID,10000000),
      \+(テーブル(ID,_)).