2009年2月19日木曜日

INとEXISTS

INとEXISTSは、一緒か?と時々聞かれます。
そんなときには、

・固定値を条件に使う場合は、IN
・サブクエリーを条件にする場合は、EXISTS

で使いわけましょうと答えます。
さらに、脅し文句(?)として、NOT INは、
条件にNULLが含まれると、絶対抽出されない事も。

  例) WHERE カラム名 NOT IN ( ‘A’, ‘B’, NULL )
または
     WHERE カラム名 NOT IN ( SELECT NULLを含む列 From … )

0 件のコメント:

コメントを投稿