SQLの比較演算子について、基本的な使い方から実践的な応用まで、具体的なコード例を交えて解説します。データベース操作の効率を上げるには、比較演算子をどのように活用すればよいのでしょうか?
SQL未満の条件式とWHERE句による絞り込み検索の基本
SQLの「未満」を使った条件式について、基本的な書き方から実践的な使い方まで解説します。WHERE句での使い方や複数条件の組み合わせ方など、具体例を交えて説明しますが、あなたはどのように活用できるでしょうか?
SQLで「未満」の条件を指定する場合、比較演算子「<」を使用します。この演算子は数値データや日付データに対して使用でき、指定した値より小さい値を持つレコードを抽出します。
基本的な構文は以下のようになります:
SELECT * FROM テーブル名
WHERE カラム名 < 値
具体例として、商品テーブルから5000円未満の商品を抽出する場合:
SELECT * FROM products
WHERE price < 5000
「未満」の条件を指定する場合、BETWEEN演算子との使い分けが重要です。BETWEEN演算子は「以上」と「以下」の範囲指定には適していますが、「未満」の条件には適していません。
以下は範囲指定の例です:
-- 1000以上5000未満の商品を取得
SELECT * FROM products
WHERE price >= 1000 AND price < 5000
-- 1000以上5000以下の商品を取得(BETWEEN使用)
SELECT * FROM products
WHERE price BETWEEN 1000 AND 5000
NULL値を含むカラムに対して未満の条件を使用する場合、特別な注意が必要です。NULL値は比較演算子では正しく評価されないため、IS NULL演算子と組み合わせて使用する必要があります。
SELECT * FROM products
WHERE price < 5000
OR price IS NULL
CASE式と未満の条件を組み合わせることで、より柔軟なデータ処理が可能になります。
SELECT
product_name,
price,
CASE
WHEN price < 1000 THEN '低価格'
WHEN price < 5000 THEN '中価格'
ELSE '高価格'
END AS price_category
FROM products
日付データに対する未満の条件指定も、数値データと同様に扱えます。ただし、日付形式には注意が必要です。
SELECT * FROM orders
WHERE order_date < '2024-01-01'
AND order_status = 'completed'
日付の比較では、以下の点に注意が必要です:
演算子 | 説明 | 使用例 |
---|---|---|
< | 未満 | price < 1000 |
<= | 以下 | price <= 1000 |
> | より大きい | price > 1000 |
>= | 以上 | price >= 1000 |
複数の条件を組み合わせる場合の例:
SELECT * FROM products
WHERE (price < 5000 OR category = 'sale')
AND stock_quantity > 0
AND expiry_date < CURRENT_DATE
パフォーマンスの観点から、インデックスを適切に設定することで、未満条件を含むクエリの実行速度を向上させることができます。特に大量のデータを扱う場合は、この点に注意を払う必要があります。