SQL ある文字列を含むレコードを検索するクエリ
- 作成日 2020.05.14
- 更新日 2022.03.28
- mysql Percona Server

新人に質問されてサンプルクエリを作成したので、記述してます。 MYSQLをベースの DB「Percona」を利用してます。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- Percona Server Ver 8.0.19-10
※CentOs8 に Percona Server のインストールはこちら
サンプル
テーブル「employees」のカラム「name(名前として利用)」に「山」が含まれているデータを抽出する場合
※ テーブル「employees」 データ一覧はページ最後に記載してます。
「LIKE」を使用して、下記のクエリで抽出できます。
SELECT id,name FROM employees
where name LIKE '%山%';
名前に漢字の「山」が含まれているnameが取得できる

名前の一文字目に「山」が入っている人を取得する場合は下記
SELECT id,name FROM employees
where name LIKE '山%';
一文字目に 「山」が含まれているnameが取得できる

名前の二文字目に「山」が入っている人を取得する場合は下記となります。
SELECT id,name FROM employees
where name LIKE '_山%';
二文字目に 「山」が含まれているnameが取得できる

逆に名前に「山」が含まれていないデータを抽出する場合は「NOT LIKE」を使用します。
SELECT id,name FROM employees
where name NOT LIKE '%山%';
名前に「山」が含まれていないnameが取得できます。

テーブル「employees」データ一覧
+----+---------------------+
| id | name |
+----+---------------------+
| 1 | 杉山 涼平 |
| 2 | 宮沢 さゆり |
| 3 | 近藤 直人 |
| 4 | 斉藤 くみ子 |
| 5 | 山口 直人 |
| 6 | 斉藤 英樹 |
| 7 | 井高 直子 |
| 8 | 山本 修平 |
| 9 | 鈴木 健一 |
| 10 | 田中 零 |
| 11 | 宮沢 裕美子 |
| 12 | 笹田 春香 |
| 13 | 坂本 くみ子 |
| 14 | 青山 明美 |
| 15 | 西之園 さゆり |
| 16 | 高橋 陽子 |
| 17 | 桐山 幹 |
| 18 | 中津川 あすか |
| 19 | 鈴木 明美 |
| 20 | 田中 淳 |
| 21 | 山本 学 |
| 22 | 石田 加奈 |
| 23 | 村山 京助 |
| 24 | 山岸 花子 |
| 25 | 田中 結衣 |
| 26 | 原田 さゆり |
| 27 | 佐々木 京助 |
| 28 | 木村 翔太 |
| 29 | 桐山 香織 |
| 30 | 原田 花子 |
+----+---------------------+
-
前の記事
Laravel7 Middlewareを使ってJSONの日本語文字化けに対応する 2020.05.14
-
次の記事
CentOs8 ユーザーをsudo可能に設定する 2020.05.14
コメントを書く