【SQL】条件付き検索: WHERE句を使ったデータ検索の基本

目次

はじめに


SQLはデータベース管理のための重要な言語ですが、初心者にとっては慣れるまで少し難しいかもしれません。特に条件付き検索は、データを抽出する際に重要な概念です。

この記事では、SQL初心者向けに条件付き検索の基本から理解しやすく解説します。

SQLの基本概要

SQL(Structured Query Language)は、データベースでデータの操作や管理を行うための標準的な言語です。
主にデータの検索、挿入、更新、削除などの操作を行います。
SQLは、その名前の通り、構造化されたクエリ言語であり、データベースの操作を行う際にクエリ(問い合わせ)を使用します。

新人:グラミちゃん

データを検索したり、新しいデータを追加したり、データを更新したりできるんだね。

条件付き検索の必要性

データベース内のデータが増えるにつれて、必要な情報を見つけるために条件を指定する必要が生じます。
条件付き検索を行うことで、特定の条件に一致するデータのみを取得できます。

新人:グラミちゃん

条件付き検索ってなに?

エンジニア:プロくん

たとえば、全ての顧客の中から特定の地域に住む人だけを検索する場合、条件を指定して検索することができるよ。

WHERE句の概要

WHERE句は、SQL文で条件付き検索を行うための句です。
WHERE句を使用することで、特定の条件に一致する行のみを取得できます。

新人:グラミちゃん

WHERE句って何?

エンジニア:プロくん

条件を指定してデータを絞り込むための句だよ。
条件に一致するデータだけを取得できるんだ。

比較演算子の利用

等号演算子 (=)

等号演算子(=)は、指定された条件と完全に一致するデータを取得します。

SELECT * FROM users WHERE age = 30;
新人:グラミちゃん

このクエリは何をしてるの?

エンジニア:プロくん

年齢が30歳のユーザーを取得しているよ。

不等号演算子 (<, >)

不等号演算子(<、>)は、指定された条件を満たすデータを取得します。

SELECT * FROM products WHERE price > 1000;
新人:グラミちゃん

これは何をするの?

エンジニア:プロくん

価格が1000より大きい商品を取得しているよ。

範囲演算子 (BETWEEN, IN)

範囲演算子を使用することで、指定された範囲内のデータを取得します。

SELECT * FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';
新人:グラミちゃん

これはいつの注文を取得しているの?

エンジニア:プロくん

2022年に行われた注文を取得しているよ。

論理演算子の利用

AND演算子

AND演算子を使用することで、複数の条件を組み合わせて検索できます。

SELECT * FROM employees WHERE department = 'Sales' AND age > 30;
新人:グラミちゃん

何をしているの?

エンジニア:プロくん

Sales部門でかつ30歳以上の従業員を取得しているよ。

OR演算子

OR演算子を使用することで、複数の条件のいずれか一つでも一致するデータを取得できます。

SELECT * FROM customers WHERE age < 18 OR age > 65;
新人:グラミちゃん

これは何をしているの?

エンジニア:プロくん

18歳未満または65歳以上の顧客を取得しているよ。

NOT演算子

NOT演算子を使用すると、条件の否定を行うことができます。

SELECT * FROM products WHERE NOT category = 'Electronics';
新人:グラミちゃん

何をしているの?

エンジニア:プロくん

Electronicsカテゴリー以外の商品を取得しているよ。

条件式の組み合わせ

条件式を組み合わせることで、複雑な条件を指定してデータを取得できます。

SELECT * FROM orders WHERE (total_amount > 1000 AND status = 'Shipped') OR (customer_id = 5 AND status = 'Pending');
新人:グラミちゃん

どんな条件を使っているの?

エンジニア:プロくん

注文の合計額が1000より大きくてShipped状態、または顧客IDが5でPending状態の注文を取得しているよ。

実践的な例

実際のデータベースから取得した例を紹介します。

SELECT * FROM employees WHERE department = 'HR' AND age < 40;

まとめ

この記事では、SQL初心者向けに条件付き検索の基本を解説しました。
WHERE句を使って条件を指定することで、データベースから特定の条件に一致するデータを取得できるようになります。
等号演算子、不等号演算子、論理演算子などの概念を理解し、実際のクエリで使えるようにしましょう。

目次