【MySQL】前方一致・中間一致・後方一致で検索する方法

ここではMySQLで、前方一致・中間一致・後方一致で検索する方法を紹介しています。

SQLで前方一致・中間一致・後方一致で検索するときは、LIKEキーワードを使って条件を指定します。

前方一致で検索する方法

前方一致で検索を行う場合には、次のようにLIKEを使い、「検索したいワード%」を指定します。

SELECT 列名 FROM 表名 WHERE 列名 LIKE '検索したいワード%';

次のSQLでは、emp_nameの値がTから始まるレコードを前方一致検索して表示します。

mysql> select emp_name from tab1 where emp_name LIKE 'T%';
+-----------+
| emp_name  |
+-----------+
| Tanaka    |
| Takahashi |
+-----------+
2 rows in set (0.01 sec)

中間一致で検索する方法

中間一致で検索を行う場合には、次のようにLIKEを使い、「%検索したいワード%」を指定します。

SELECT 列名 FROM 表名 WHERE 列名 LIKE '%検索したいワード%';

次のSQLでは、emp_nameの値にkaを含むレコードを中間一致検索して表示します。

mysql> select emp_name from tab1 where emp_name LIKE '%ka%';
+-----------+
| emp_name  |
+-----------+
| Tanaka    |
| Takahashi |
| Nakata    |
+-----------+
3 rows in set (0.00 sec)

後方一致で検索する方法

後方一致で検索を行う場合には、次のようにLIKEを使い、「%検索したいワード」を指定します。

SELECT 列名 FROM 表名 WHERE 列名 LIKE '%検索したいワード';

次のSQLでは、emp_nameの値の最後がtaとなるレコードを後方一致検索して表示します。

mysql> select emp_name from tab1 where emp_name LIKE '%ta';
+----------+
| emp_name |
+----------+
| Nakata   |
+----------+
1 row in set (0.00 sec)