カテゴリ: PostgreSQL 更新日: 2026/03/05

PostgreSQLのILIKE完全ガイド|大文字小文字を無視したSQL検索を初心者向けに解説

PostgreSQLのILIKEで大文字小文字を無視する検索
PostgreSQLのILIKEで大文字小文字を無視する検索

先生と生徒の会話形式で理解しよう

生徒

「名前で検索したいんですけど、大文字と小文字が違うと見つからないことがあって困っています」

先生

「それはLIKEを使っているとよく起こります。PostgreSQLには、大文字と小文字を区別しないILIKEという便利な書き方がありますよ」

生徒

「英語が苦手なんですが、ILIKEって何をしているんですか?」

先生

「簡単に言うと、文字の見た目の違いを気にせずに探してくれる命令です。アルファベットの大文字と小文字を同じものとして扱ってくれます」

生徒

「パソコン初心者でも使えますか?」

先生

「もちろんです。表を見ながら順番に説明します」

1. SQLとPostgreSQLの基本をおさらい

1. SQLとPostgreSQLの基本をおさらい
1. SQLとPostgreSQLの基本をおさらい

PostgreSQLは、たくさんのデータを表の形で保存できるデータベースです。表は、行と列でできていて、紙の名簿や住所録と同じような見た目です。

SQLは、その表の中からデータを探したり、条件を指定して表示したりするための言葉です。検索するときによく使うのがWHERE句で、「この条件に合う行だけ出してください」という意味になります。

2. 条件検索とWHERE句の役割

2. 条件検索とWHERE句の役割
2. 条件検索とWHERE句の役割

条件検索とは、表のすべてを見るのではなく、必要な行だけを絞り込んで表示することです。WHERE句を使うと、「年齢が二十歳以上」「名前が特定の文字を含む」といった指定ができます。

文字を条件にするときによく使われるのがLIKEです。ただし、LIKEは大文字と小文字を区別するという特徴があります。

3. 検索に使うサンプルテーブルを確認しよう

3. 検索に使うサンプルテーブルを確認しよう
3. 検索に使うサンプルテーブルを確認しよう

まずは、usersテーブルの中身を見てみましょう。


id | name         | age | email
---+--------------+-----+-----------------------
1  | TaroYamada   | 25  | taro@example.com
2  | hanakoSato   | 19  | hanako@example.com
3  | ICHIROSUZUKI | 30  | ichiro@example.com
4  | jiroTanaka   | 22  | jiro@example.com
5  | MisakiYamamoto | 19 | misaki@example.com

このように、名前のアルファベットは大文字と小文字が混ざっています。ここが検索でつまずきやすいポイントです。

4. LIKE検索で起こる大文字小文字の問題

4. LIKE検索で起こる大文字小文字の問題
4. LIKE検索で起こる大文字小文字の問題

まずはLIKEを使った検索を見てみます。


SELECT *
FROM users
WHERE name LIKE '%taro%';

(検索結果なし)

このように、taroと小文字で書くと、TaroYamadaは見つかりません。LIKEは文字の形まで厳密にチェックしているためです。

5. ILIKEで大文字小文字を無視する検索

5. ILIKEで大文字小文字を無視する検索
5. ILIKEで大文字小文字を無視する検索

ここで登場するのがILIKEです。ILIKEは、PostgreSQL独自の書き方で、大文字と小文字を同じものとして扱います。


SELECT *
FROM users
WHERE name ILIKE '%taro%';

id | name       | age | email
---+------------+-----+-----------------------
1  | TaroYamada | 25  | taro@example.com

小文字で書いても、大文字が含まれていても、正しく検索できます。人が目で見て判断する感覚に近い検索です。

6. ILIKEとワイルドカードの組み合わせ

6. ILIKEとワイルドカードの組み合わせ
6. ILIKEとワイルドカードの組み合わせ

パーセント記号は「どんな文字でもよい」という意味を持ちます。前後に付けることで、部分一致検索ができます。


SELECT name
FROM users
WHERE name ILIKE '%suzuki%';

name
-------------
ICHIROSUZUKI

大文字だけで登録されている名前でも、小文字で問題なく検索できています。

7. ILIKEとWHERE句を組み合わせた実用例

7. ILIKEとWHERE句を組み合わせた実用例
7. ILIKEとWHERE句を組み合わせた実用例

ILIKEは、ほかの条件と一緒に使うこともできます。例えば、年齢が二十歳以上で、名前に特定の文字が含まれる人を探す場合です。


SELECT *
FROM users
WHERE age >= 20
AND name ILIKE '%ta%';

id | name       | age | email
---+------------+-----+-----------------------
1  | TaroYamada | 25  | taro@example.com
4  | jiroTanaka | 22  | jiro@example.com

条件を組み合わせることで、より現実的な検索ができるようになります。

8. ILIKEを使うときの注意点

8. ILIKEを使うときの注意点
8. ILIKEを使うときの注意点

ILIKEはとても便利ですが、PostgreSQL専用の書き方です。他のデータベースでは使えないことがあります。

また、大文字小文字を無視する分、データが多いと検索に時間がかかることもあります。初心者のうちは、動きを理解することを優先して使ってみるのがおすすめです。

カテゴリの一覧へ
新着記事
New1
MySQL
【MySQL入門】LIMITとは何か?SELECT文で取得件数を制限する方法を初心者向けに徹底解説
New2
PostgreSQL
PostgreSQLのMAX・MIN完全解説|集約関数とGROUP BYで最大値・最小値を抽出する方法
New3
MySQL
MySQLのORDER BYで文字列を並び替える方法と注意点を徹底解説|SQL初心者向け完全ガイド
New4
PostgreSQL
PostgreSQLのSUM・AVG完全解説|集約関数とGROUP BYの計算時の注意点を初心者向けにやさしく説明
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLでスキーマを分割するメリット
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLのpublicスキーマの役割と扱い方
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLでよく使うデータ型一覧(文字列・数値・日付)
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLのORDER BYの基本(昇順・降順)