SQLのLIKE句は曖昧検索をするときに使います。
本記事ではLIKE句の機能について具体例を交えて解説します。今後のSQL学習の参考にしてみてください。
LIKE句とは?
SQLのLIKE句とは、曖昧検索をする際に使われるクエリです。LIKE句を使えばカラム(列)に対して文字列検索ができます。その検索条件にワイルドカードを用いることで、その文字列を含むレコードを検索できます。
ワイルドカードとは?
情報処理における「ワイルドカード」とは、任意の文字の代わりとして用いられる特殊な文字記号のことです。「?」や「%」が用いられることが多く、それらの記号を検索したい語句に付けて検索することでその語句を含む文字列やファイルを調べられます。
トランプなどのカードゲームでも、どのカードの代わりとしても使うことができる特別なカードを指します。
LIKE句を使った検索方法
【サンプルテーブル】
ここからはLIKE句の使い方を解説していきます。説明には、サンプルとして「生徒」テーブルを用意しました。
「生徒」テーブル
氏名 | クラス | ID |
秋山 | A | 997 |
久保田 | A | 998 |
佐々木 | B | 999 |
佐藤 | B | 1000 |
鈴木 | B | 1001 |
田中 | C | 1002 |
土屋 | C | 1003 |
≫まずは簡単60秒で無料お問い合わせから≪
完全一致
【サンプルコード】
SELECT カラム名 FROM テーブル名 WHERE カラム名 LIKE '検索文字';
LIKE ‘検索文字’ で、文字列を検索できます。
【実行コード】
SELECT 氏名 FROM 生徒 WHERE 列名 LIKE '佐々木';
氏名が「佐々木」と完全に一致したレコードのみ表示されます。
【実行結果】
氏名 | クラス | ID |
佐々木 | B | 999 |
ここからはワイルドカードを使用した、部分一致検索をします。部分一致検索では、検索文字を含むレコードが表示されます。
ワイルドカード文字 | 意味 |
% | 0文字以上の任意の文字列 |
_ | 任意の1文字 |
[^] | 除外 |
前方一致検索
【実行コード】
SELECT 1 FROM 生徒 WHERE 氏名 LIKE '佐%';
氏名が「佐」で始まるレコードを検索します。
【実行結果】
氏名 | クラス | ID |
佐々木 | B | 999 |
佐藤 | B | 1000 |
【実行コード】
SELECT 1 FROM 生徒 WHERE 氏名 LIKE '佐_';
氏名が「佐」で始まる、かつもう一文字が続くのレコードを検索します。
【実行結果】
氏名 | クラス | ID |
佐藤 | B | 1000 |
後方一致検索
氏名が「木」で終わるレコードを検索します。
【実行コード】
SELECT 1 FROM 生徒 WHERE 氏名 LIKE '%木';
【実行結果】
氏名 | クラス | ID |
佐々木 | B | 999 |
鈴木 | B | 1001 |
部分一致検索
【実行コード】
SELECT 1 FROM 生徒 WHERE 氏名 LIKE '%田%';
氏名に「田」がつくレコードを検索します。
【実行結果】
氏名 | クラス | ID |
久保田 | A | 998 |
田中 | C | 1002 |
NOT LIKE(LIKEの否定形)
NOT LIKE句で指定した文字列を含まないデータを取得できます。
【実行コード】
SELECT 1 FROM 生徒 WHERE 氏名 NOT LIKE '%田%';
氏名に「田」がつかないレコードを検索します。
【実行結果】
氏名 | クラス | ID |
秋山 | A | 997 |
佐々木 | B | 999 |
佐藤 | B | 1000 |
鈴木 | B | 1001 |
土屋 | C | 1003 |
特定の文字列を除外して検索する
【実行コード】
SELECT 1 FROM 生徒 WHERE ID LIKE '100[^1-3]%';
100からはじまるナンバーを曖昧検索し、かつ4桁目に1~3を含まないレコードを検索します。
【実行結果】
氏名 | クラス | ID |
佐藤 | B | 1000 |
SQLの勉強方法は?
書籍やインターネットで学習する方法があります。昨今では、YouTubeなどの動画サイトやエンジニアのコミュニティサイトなども充実していて多くの情報が手に入ります。
そして、より効率的に知識・スキルを習得するには、知識をつけながら実際に手を動かしてみるなど、インプットとアウトプットを繰り返していくことが重要です。特に独学の場合は、有識者に質問ができたりフィードバックをもらえるような環境があると、理解度が深まるでしょう。
ただ、SQLに限らず、ITスキルを身につける際、どうしても課題にぶつかってしまうことはありますよね。特に独学だと、わからない部分をプロに質問できる機会を確保しにくく、モチベーションが続きにくいという側面があります。独学でモチベーションを維持する自信がない人にはプログラミングスクールという手もあります。費用は掛かりますが、その分スキルを身につけやすいです。しっかりと知識・スキルを習得して実践に活かしたいという人はプログラミングスクールがおすすめです。
プログラミングスクールならテックマニアがおすすめ!
ITスキル需要の高まりとともにプログラミングスクールも増えました。しかし、どのスクールに通うべきか迷ってしまう人もいるでしょう。そんな方にはテックマニアをおすすめします!これまで多くのITエンジニアを育成・輩出してきたテックマニアでもプログラミングスクールを開講しています。
<テックマニアの特徴>
・たしかな育成実績と親身な教育 ~セカンドキャリアを全力支援~
・講師が現役エンジニア ~“本当”の開発ノウハウを直に学べる~
・専属講師が学習を徹底サポート ~「わからない」を徹底解決~
・実務ベースでスキルを習得 ~実践的な凝縮カリキュラム~
このような特徴を持つテックマニアはITエンジニアのスタートラインとして最適です。
話を聞きたい・詳しく知りたいという方はこちらからお気軽にお問い合わせください。
- 2023.09.14
- Other
Author:鷺坂りな @TechMania編集部 投稿一覧
Otherカテゴリの最新記事
-
- 2024.10.11
【Excel VBA】Functionの使い方を解説(宣言・引数、戻り値の指定、応用法)
-
- 2024.10.04
【Excel VBA】構造体とは?使い方を解説(宣言・初期化・引数・コピー・定数)
-
- 2024.10.04
【Excel VBA】Findメソッドで検索(完全一致、部分一致、複数一致)を行う方法を解説
-
- 2024.09.27
【Excel VBA】印刷を行うPrintOutの使い方を解説
-
- 2024.09.20
【Excel VBA】Rangeでセルを範囲選択する方法を解説
-
- 2024.09.19
【Excel VBA】セル内/MsgBox内/コード内での改行コードの使い分け方法を解説