【SQL】データの曖昧検索「LIKE句」の使い方!完全一致・部分一致・否定形も解説

  • 2024.01.30
       
【SQL】LIKE句

SQLのLIKE句は曖昧検索をするときに使います。

本記事ではLIKE句の機能について具体例を交えて解説します。今後のSQL学習の参考にしてみてください。

LIKE句とは?

SQLのLIKE句とは、曖昧検索をする際に使われるクエリです。LIKE句を使えばカラム(列)に対して文字列検索ができます。その検索条件にワイルドカードを用いることで、その文字列を含むレコードを検索できます。

ワイルドカードとは?

情報処理における「ワイルドカード」とは、任意の文字の代わりとして用いられる特殊な文字記号のことです。「?」や「%」が用いられることが多く、それらの記号を検索したい語句に付けて検索することでその語句を含む文字列やファイルを調べられます。

トランプなどのカードゲームでも、どのカードの代わりとしても使うことができる特別なカードを指します。

LIKE句を使った検索方法

【サンプルテーブル】

ここからはLIKE句の使い方を解説していきます。説明には、サンプルとして「生徒」テーブルを用意しました。

「生徒」テーブル

氏名クラスID
秋山A997
久保田A998
佐々木B999
佐藤B1000
鈴木B1001
田中C1002
土屋C1003

あなたのご希望に沿った案件が必ず見つかります
【フリーランス向け】高収入好待遇の案件をご紹介

TECH MANIA フリーランス

≫まずは簡単60秒で無料お問い合わせから≪

完全一致

【サンプルコード】

SELECT カラム名 FROM テーブル名 WHERE カラム名 LIKE '検索文字';

LIKE ‘検索文字’ で、文字列を検索できます。

【実行コード】

SELECT 氏名 FROM 生徒 WHERE 列名 LIKE '佐々木';

氏名が「佐々木」と完全に一致したレコードのみ表示されます。

【実行結果】

氏名クラスID
佐々木B999

ここからはワイルドカードを使用した、部分一致検索をします。部分一致検索では、検索文字を含むレコードが表示されます。

ワイルドカード文字意味
%0文字以上の任意の文字列
_任意の1文字
[^]除外

前方一致検索

【実行コード】

SELECT 1 FROM 生徒 WHERE 氏名 LIKE '佐%';

氏名が「佐」で始まるレコードを検索します。

【実行結果】

氏名クラスID
佐々木B999
佐藤B1000

【実行コード】

SELECT 1 FROM 生徒 WHERE 氏名 LIKE '佐_';

氏名が「佐」で始まる、かつもう一文字が続くのレコードを検索します。

【実行結果】

氏名クラスID
佐藤B1000

後方一致検索

氏名が「木」で終わるレコードを検索します。

【実行コード】

SELECT 1 FROM 生徒 WHERE 氏名 LIKE '%木';

【実行結果】

氏名クラスID
佐々木B999
鈴木B1001

部分一致検索

【実行コード】

SELECT 1 FROM 生徒 WHERE 氏名 LIKE '%田%';

氏名に「田」がつくレコードを検索します。

【実行結果】

氏名クラスID
久保田A998
田中C1002

NOT LIKE(LIKEの否定形)

NOT LIKE句で指定した文字列を含まないデータを取得できます。

【実行コード】

SELECT 1 FROM 生徒 WHERE 氏名 NOT LIKE '%田%';

氏名に「田」がつかないレコードを検索します。

【実行結果】

氏名クラスID
秋山A997
佐々木B999
佐藤B1000
鈴木B1001
土屋C1003

特定の文字列を除外して検索する

【実行コード】

SELECT 1 FROM 生徒 WHERE ID LIKE '100[^1-3]%';

100からはじまるナンバーを曖昧検索し、かつ4桁目に1~3を含まないレコードを検索します。

【実行結果】

氏名クラスID
佐藤B1000

SQLの勉強方法は?

書籍やインターネットで学習する方法があります。昨今では、YouTubeなどの動画サイトやエンジニアのコミュニティサイトなども充実していて多くの情報が手に入ります。
そして、より効率的に知識・スキルを習得するには、知識をつけながら実際に手を動かしてみるなど、インプットとアウトプットを繰り返していくことが重要です。特に独学の場合は、有識者に質問ができたりフィードバックをもらえるような環境があると、理解度が深まるでしょう。

ただ、SQLに限らず、ITスキルを身につける際、どうしても課題にぶつかってしまうことはありますよね。特に独学だと、わからない部分をプロに質問できる機会を確保しにくく、モチベーションが続きにくいという側面があります。独学でモチベーションを維持する自信がない人にはプログラミングスクールという手もあります。費用は掛かりますが、その分スキルを身につけやすいです。しっかりと知識・スキルを習得して実践に活かしたいという人はプログラミングスクールがおすすめです。

プログラミングスクールならテックマニアがおすすめ!

ITスキル需要の高まりとともにプログラミングスクールも増えました。しかし、どのスクールに通うべきか迷ってしまう人もいるでしょう。そんな方にはテックマニアをおすすめします!これまで多くのITエンジニアを育成・輩出してきたテックマニアでもプログラミングスクールを開講しています。

<テックマニアの特徴>
・たしかな育成実績と親身な教育 ~セカンドキャリアを全力支援~
・講師が現役エンジニア ~“本当”の開発ノウハウを直に学べる~
・専属講師が学習を徹底サポート ~「わからない」を徹底解決~
・実務ベースでスキルを習得 ~実践的な凝縮カリキュラム~

このような特徴を持つテックマニアはITエンジニアのスタートラインとして最適です。
話を聞きたい・詳しく知りたいという方はこちらからお気軽にお問い合わせください。

     

Otherカテゴリの最新記事