SQL Like – SQL Not LikeSQLのような – SQLのようでない

SQLのLIKEは、WHERE句と一緒に使用して、列のパターンを検索するために使用されます。ワイルドカードは、パターンを指定するために使用されます。LIKE演算子と一緒に使用されるワイルドカードは2つあります。

    1. %:パーセンテージは、単一、複数、または出現しないことを示すために使用されます。

 

    _:アンダースコアは、単一の文字を表すために使用されます。
sql like operator

SQLのような構文

SQLのLIKE演算子は、WHERE句を使用する任意のクエリと組み合わせて使用することができます。そのため、SELECT、DELETE、UPDATEなどと組み合わせて使用することができます。

SELECT column FROM table_name WHERE column LIKE pattern;

UPDATE table_name SET column=value WHERE column LIKE pattern;

DELETE FROM table_name WHERE column LIKE pattern;

上記で言及されているSQLのような構文では、”パターン”はワイルドカードの使用によって定義されるものです。

SQLのLIKEの例

以下の顧客テーブルを例に、ワイルドカードとともにSQLのLIKE文の使用方法を例で理解してみましょう。

CustomerId CustomerName
1 Amit
2 John
3 Annie
    1. 「A」で始まる顧客名を見つける。

 

    1. 顧客テーブルからCustomerName列を選択する WHERE CustomerName LIKE ‘A%’;

出力:Amit、Annie

「e」で終わる顧客名を見つける。
顧客テーブルからCustomerName列を選択する WHERE CustomerName LIKE ‘%e’

出力:Annie

「A」で始まり「t」で終わる顧客名を見つける。
顧客テーブルからCustomerName列を選択する WHERE CustomerName LIKE ‘A%t’

出力:Amit

どの位置でも「n」を含む顧客名を見つける。
顧客テーブルからCustomerName列を選択する WHERE CustomerName LIKE ‘%n%’

出力:Annie John

2番目の位置に「n」を含む顧客名を見つける。
顧客テーブルからCustomerName列を選択する WHERE CustomerName LIKE ‘_n%’

出力:Annie

3番目の位置に「i」を含み「t」で終わる顧客名を見つける。
顧客テーブルからCustomerName列を選択する WHERE CustomerName LIKE ‘__i%t’

出力:Amit

SQL Not Like を日本語で言い換えると:
SQL ライクではない

時には、私たちはパターンに一致しないレコードを取得したいと思うことがあります。その場合、SQLのnot like演算子を使用することができます。SQLのnot like文の構文は以下のようになります。

SELECT column FROM table_name WHERE column NOT LIKE pattern;

UPDATE table_name SET column=value WHERE column NOT LIKE pattern;

DELETE FROM table_name WHERE column NOT LIKE pattern;

例えば、’A’で始まらない顧客の名前のリストが欲しいとします。以下のクエリは、必要な結果セットを提供してくれます。

SELECT CustomerName FROM Customer WHERE CustomerName NOT LIKE 'A%';

出力:ジョン

SQLで複数のLike条件

SQLクエリでは、複数の「like」ステートメントを使用することができます。たとえば、顧客名が「Jo」から始まり、「Am」でも始まる顧客名のリストを取得したい場合、以下のように複数の「like」ステートメントを使用する必要があります。

SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'Am%' OR CustomerName LIKE 'Jo%';

SQLのような演算子とSQLのnot like演算子の例に関しては、以上です。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds