検索

[Oracle] データ検索 複数値検索SQL(IN)

データの検索(複数値を一度に検索)

複数値を条件に指定し抽出する

複数の値から一つでも一致したデータを抽出する場合、WHERE句にORを連ねて記述することでも実現可能ですが、IN句を使用することで、それらを一度に指定することが可能です。

SELECT * FROM テーブル名 WHERE 列1 IN (検索値1, 検索値2 ・・・ );

それではサンプルを見てみましょう。
以下のようなcompanyテーブルがあります。

id comp dept section
A00001 ABC株式会社 A部門 A課
A00002 ABCD株式会社 A部門 B課
A00010 株式会社XY B部門 C課
A00011 株式会社ZZZ C部門 D課

複数指定した検索値のいずれかに該当するデータを抽出するためのSQLです。

上記を実行し、抽出された結果がこちらです。

id comp dept section
A00001 ABC株式会社 A部門 A課
A00010 株式会社XY B部門 C課

IN句に指定した2行のデータが抽出されました。
 
なお、IN句の否定形は「NOT IN」になります。
 
 
複数値での検索は使用頻度が高いので、ぜひ参考にしてみてください。