SQL LIKEの否定であるNOT LIKEの使い方とい注意点
SQLでLIKE句を使用すると、特定のパターンに一致するデータを選択することができます。
このLIKE句の否定、つまり特定のパターンに一致しないデータを選択したい場合にはNOT LIKEを使用します。
LIKEとNOT LIKEの基本
LIKE句は、ワイルドカードを使用して文字列のパターンマッチングを行います。
最も一般的なワイルドカードには%(任意の文字列)と_(任意の単一文字)があります。
SELECT * FROM employees
WHERE name LIKE 'Sam%';
上記のSQL名前が"Sam"で始まるすべての従業員を選択します。
SELECT * FROM employees
WHERE name NOT LIKE 'Sam%';
上記のSQLでは名前が"Sam"で始まらないすべての従業員を選択します。
NOT LIKEを使用するケース
特定の接頭辞が付かないレコードの選択
特定の接頭辞やサフィックスを持たないユーザー名やメールアドレスを抽出する場合に便利です。
SELECT * FROM users
WHERE email NOT LIKE '%@example.com';
上記のSQLではexample.comのドメインを持たないすべてのメールアドレスを選択します。
特定のパターンを排除
文字列に特定の単語やフレーズが含まれていないレコードをフィルタリングする場合に使用します。
SELECT * FROM products
WHERE description NOT LIKE '%temporary%';
「temporary」という単語を含まない製品の説明を持つすべての製品が選択されます。
注意点
パフォーマンス
LIKEおよびNOT LIKE句は、特に大きなテキストフィールドや大量のデータがある場合、パフォーマンスに影響を与える可能性があります。
使用する際には、インデックスの設計やクエリの最適化に注意する必要があります。
正確なパターン指定
%と_は便利なワイルドカードですが、予期しない結果を引き起こす可能性があるため、使用するパターンを慎重に選ぶ必要があります。
SQLをもっと詳しくなりたい方に
SQL 第2版 ゼロからはじめるデータベース操作
『SQL 第2版 ゼロからはじめるデータベース操作』はSQL初心者または基本的なデータベース操作スキルを身につけたい人々に適した書籍です。
この本はSQLの基本から始め、リレーショナルデータベースの操作に必要な知識を段階的に提供します。特にデータベースとSQLの基本的な概念に焦点を当てており、初学者が理解しやすいように構成されています。
SQL実践入門 ――高速でわかりやすいクエリの書き方
『SQL実践入門 ――高速でわかりやすいクエリの書き方』はSQLを既に基本的には理解しているが、より効率的でパフォーマンスの高いクエリを書きたいと考えている中級から上級のデータベースユーザーに最適な書籍です。
この本は単にSQLの文法を説明するのではなく、クエリの最適化、実行計画の解析、インデックスの効果的な使用といった高度なテーマに焦点を当てています。
以下の記事では筆者が実際に読んだおすすめの本をまとめています。
SQLを動画で学ぶ
【22日間で学ぶ】SQL文、分析関数、テーブル設計、SQLチューニングまでMySQLで覚えるSQL実践講座
この講座ではSQLを扱ったことのない完全に初心者の方でも無理なく基礎的な構文から、複雑な処理までを勉強することができます。
3週間(+1日)という期間で、実務レベルのSQLを身に付けることができます。
はじめてのSQL ・データ分析入門 -データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース
このコースではデータベースを操作するSQL を、ビジネスにおけるデータ分析に役立つスキルとして学びます。
講義を聞くだけでなく実際にSQLの記述を行う体験型の学習スタイルです。理解をさらに深めるための演習問題にもチャレンジします。
このコースはSQL初心者が中級者になるための講座です。普段からSQLを使用している方には、受講をおすすめしていませんのでご注意ください。
以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。
この記事が気に入ったらサポートをしてみませんか?