【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)