サイトアイコン 初心者エンジニアのための備忘録

[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です。
[crayon-678b6fb189147696355499/]

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

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


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

モバイルバージョンを終了