SQLの比較演算子とパターンマッチング入門:=、!=、LIKE、NOT LIKEの使い方と違い
投稿日:
はじめに
SQLでデータを操作する際、特定の条件に一致するデータを抽出することがよくあります。今回は、SQLの基本的な比較演算子である「=」「!=」と、パターンマッチングに使用される「LIKE」「NOT LIKE」について詳しく解説します。これらの演算子を使いこなすことで、データの抽出やフィルタリングを効率的に行うことができます。
比較演算子
= 演算子
「=」演算子は、指定した値と一致する行を選択するために使用されます。これは最も基本的な比較演算子であり、等価比較を行います。
SELECT
column1,
column2
FROM table_name
WHERE column_name = value;
例 employeesテーブルから、名前が「John」の従業員を取得するクエリは次の通りです。
SELECT
first_name,
last_name
FROM employees
WHERE first_name = 'John';
!= 演算子
「!=」演算子は、指定した値と一致しない行を選択するために使用されます。等価比較の否定を行います。
SELECT
column1,
column2
FROM table_name
WHERE column_name != value;
例 employeesテーブルから、名前が「John」ではない従業員を取得するクエリは次の通りです。
SELECT
first_name,
last_name
FROM employees
WHERE first_name != 'John';
パターンマッチング演算子
LIKE 演算子
「LIKE」演算子は、指定したパターンに一致する行を選択するために使用されます。ワイルドカード(%や_)を使用して、部分一致検索を行うことができます。
SELECT
column1,
column2
FROM table_name
WHERE column_name LIKE 'pattern';
例 employeesテーブルから、名前が「J」で始まる従業員を取得するクエリは次の通りです。
SELECT
first_name,
last_name
FROM employees
WHERE first_name LIKE 'J%';
NOT LIKE 演算子
「NOT LIKE」演算子は、指定したパターンに一致しない行を選択するために使用されます。部分一致検索の否定を行います。
SELECT
column1,
column2
FROM table_name
WHERE column_name NOT LIKE 'pattern';
例 employeesテーブルから、名前が「J」で始まらない従業員を取得するクエリは次の通りです。
SELECT
first_name,
last_name
FROM employees
WHERE first_name NOT LIKE 'J%';
使用例の比較
= と LIKE の比較
「=」演算子は完全一致を必要としますが、「LIKE」演算子は部分一致を可能にします。
完全一致
SELECT
first_name,
last_name
FROM employees
WHERE first_name = 'John';
部分一致
SELECT
first_name,
last_name
FROM employees
WHERE first_name LIKE 'Jo%';
!= と NOT LIKE の比較
「!=」演算子は完全不一致を必要としますが、「NOT LIKE」演算子は部分不一致を可能にします。
完全不一致
SELECT
first_name,
last_name
FROM employees
WHERE first_name != 'John';
部分不一致
SELECT
first_name,
last_name
FROM employees
WHERE first_name NOT LIKE 'Jo%';
ワイルドカードの使用
% ワイルドカード
「%」は0個以上の任意の文字列に一致します。
SELECT
first_name,
last_name
FROM employees
WHERE first_name LIKE '%hn';
このクエリは、first_nameが「hn」で終わる全ての行を返します。
_ ワイルドカード
「_」は任意の1文字に一致します。
完全不一致
SELECT
first_name,
last_name
FROM employees
WHERE first_name LIKE 'J_n';
このクエリは、first_nameが「J」で始まり、3文字目が「n」である全ての行を返します。
まとめ
今回は、SQLの基本的な比較演算子である「=」「!=」と、パターンマッチングに使用される「LIKE」「NOT LIKE」について学びました。これらの演算子を使いこなすことで、データの抽出やフィルタリングが効率的に行えるようになります。次回の記事では、さらに高度なSQLクエリやデータベース操作について詳しく解説していきます。ぜひご期待ください!