検索

[Oracle] データ検索 あいまい検索SQL(LIKE)

データの検索(あいまい検索)

任意の文字列で抽出する

あいまい検索にはLIKE句を使用します。
また、任意文字列での抽出には「%」を使用します。

SELECT * FROM テーブル名 WHERE 列1 LIKE ‘検索文字列%’;

それではサンプルを見てみましょう。
以下のような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
A00010 株式会社XY B部門 C課
A00011 株式会社ZZZ C部門 D課


comp列の”株式会社”から始まる2行のデータが抽出されました。

 

任意の1文字で抽出する

任意の1文字での抽出には「_」(アンダースコア)を使用します。

SELECT * FROM テーブル名 WHERE 列1 LIKE ‘検索文字列_’;

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

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


指定した列に任意の文字列+任意の1文字を含んだデータを抽出するためのSQLです。

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

id comp dept section
A00001 ABC株式会社 A部門 A課
A00002 ABCD株式会社 A部門 B課


id列の”A0000″から始まる2行のデータが抽出されました。
 
なお、LIKE句の否定形は「NOT LIKE」になります。
 
 
今回ご紹介した中でも「%」での検索は使用頻度が高いので、ぜひ参考にしてみてください。