MENU

IN述語とは。簡単にまとめ。

目次

目次

IN述語とは?SQLで複数条件を簡潔に指定する方法

IN述語とは、SQLにおいて指定した複数の値の中に対象データが含まれているかどうかを判定するための条件式です。主にWHERE句で使用され、複数のOR条件をまとめて記述できるため、可読性と保守性の高いSQLを書くうえで欠かせない構文のひとつです。

IN述語の基本構文

SELECT カラム名
FROM テーブル名
WHERE カラム名 IN (値1, 値2, 値3);

上記の構文は、以下のようなOR条件と同じ意味を持ちます。

WHERE カラム名 = 値1
   OR カラム名 = 値2
   OR カラム名 = 値3;

このように、IN述語を使うことで条件式をシンプルにまとめることができます。

実務での使用例

例えば、特定の部署IDに所属する社員を抽出したい場合、次のように記述します。

SELECT *
FROM employees
WHERE department_id IN (10, 20, 30);

このSQLは、部署IDが10・20・30のいずれかに該当するレコードを取得します。複数条件を扱う業務システムでは非常によく使われる書き方です。

サブクエリとの組み合わせ

IN述語はサブクエリと組み合わせることで、より動的な条件指定が可能になります。

SELECT *
FROM employees
WHERE department_id IN (
  SELECT department_id
  FROM departments
  WHERE location = 'Tokyo'
);

この例では、東京に存在する部署に所属する社員を抽出できます。データベース設計や分析業務において重要なテクニックです。

NOT INとの違いと注意点

INの否定形としてNOT INがあります。ただし、比較対象にNULLが含まれると正しく結果が返らない場合があるため注意が必要です。NULLを含む可能性がある場合は、NOT EXISTSの利用も検討しましょう。

まとめ

IN述語は、SQLの基本構文でありながら実務で頻繁に使用される重要な条件指定方法です。複数の値を効率よく扱えるため、可読性の高いクエリ作成に役立ちます。データ抽出や集計を正確に行うためにも、IN述語の仕組みと注意点をしっかり理解しておきましょう。

\ 最新情報をチェック /

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次