プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

Oracle not exsits select 1

exsits内で使用する「select 1」「select *」と内容的には同じ
 
 

■testテーブルとtest2テーブルを用意

・select * from test;

id name
1 tanaka
2 nakagawa
3 yoshida

 
 
・select * from test2;

id age
1 20
2 30
3 40

 
 


■select結果

・select * from test t1, test2 t2
where not exists (select 1 from test2 where t1.id = t2.id and t2.id = 2);

id name id_1 age
1 tanaka 1 20
1 tanaka 2 30
1 tanaka 3 40
2 nakagawa 1 20
2 nakagawa 3 40
3 yoshida 1 20
3 yoshida 2 30
3 yoshida 3 40

 
 
・select count(1) from test t1, test2 t2
where not exists (select 1 from test2 where t1.id = t2.id and t2.id = 2);

count(1)
8