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

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

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

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

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

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


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

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