こんにちは!システムエンジニアのオオイシです。
SQLのWHERE句をご存知でしょうか?
WHERE句を使えるようになると、データベースに保存された大量データの中からレコードを検索することが可能になります。WHERE句の使い方を知りたい!と考えている人のためにこの記事では、
WHERE句とは
基本的な演算子一覧
WHERE句を使って条件検索してみよう
A かつ B を検索するAND演算子
A または B を検索するOR演算子
A から B の範囲を検索するBETWEEN演算子
いずれかの条件に一致するレコードを検索するIN演算子
文字列の部分一致を検索するLIKE演算子
などの基本的な解説から応用的な使い方関しても解説していきます。
今回はそんなWHERE句の使い方をわかりやすく解説します!
目次
WHERE句とは
WHERE句とは、テーブルデータの検索条件を指定するためのSQL構文です。
WHERE句を使う目的は、データの検索対象をしぼりこむためにSELECT文と組み合わせたり、データの更新対象を指定するためにUPDATE文と組み合わせて使います。
SELECT文と組み合わせた場合の構文は次のとおりです。
SELECT
フィールド名
テーブル名
WHERE
演算子を使って検索条件を指定
検索条件の詳しい書き方については、次項で詳しく説明していきますので、ぜひ読み進めてみてください。
なお、SQL開発環境や本記事で扱うサンプルデータの準備方法については、こちらで詳しく解説していますので、ぜひ参考にしてください!
これらの演算子を使って、WHERE句のサンプルコードの実行例をみていきましょう。
WHERE句を使って条件検索してみよう
emp_no(従業員番号)が10003以下のデータを抽出するSQLは次のとおりです。
SELECT
employees
WHERE
emp_no <= 10003
このように10003以下のデータを検索することができました。カンタンにテーブルデータを検索できることが理解いただけたと思います!
つづいて、WHERE句をもっと便利に使うことができるの応用的な演算子の使い方についてみていきます。
応用的な演算子
まずは、一覧表にまとめてみました。
このようにemp_no(従業員番号)が10001 または 10003 のデータを検索することができました。
A からB の範囲を検索するBETWEEN演算子
BETWEEN演算子の使い方を理解していただくために、
emp_no(従業員番号) が 10002 以上 ・・・ A
emp_no(従業員番号) が 10004 以下 ・・・ B
の条件で検索する次のサンプルコードを確認してみましょう。
SELECT
employees
WHERE
emp_no BETWEEN 10002 AND 10004
実行結果:
【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン