SQL未満の条件式とWHERE句による絞り込み検索の基本

SQLの「未満」を使った条件式について、基本的な書き方から実践的な使い方まで解説します。WHERE句での使い方や複数条件の組み合わせ方など、具体例を交えて説明しますが、あなたはどのように活用できるでしょうか?

SQLにおける未満の条件式と演算子の使い方

SQLの未満条件式の基本
📊
比較演算子の特徴

未満(<)、以下(<=)などの比較演算子を使って、数値や日付の範囲を指定できます

🔍
WHERE句での活用

WHERE句と組み合わせることで、特定の条件に合致するデータを抽出できます

複数条件の組み合わせ

AND/OR演算子を使用して、複数の条件を組み合わせた複雑な検索が可能です

SQLの未満演算子における基本構文と使い方

SQLで「未満」の条件を指定する場合、比較演算子「<」を使用します。この演算子は数値データや日付データに対して使用でき、指定した値より小さい値を持つレコードを抽出します。

 

基本的な構文は以下のようになります:


SELECT * FROM テーブル名
WHERE カラム名 < 値

 

具体例として、商品テーブルから5000円未満の商品を抽出する場合:


SELECT * FROM products
WHERE price < 5000

SQLの未満条件とBETWEEN演算子の違いと使い分け

「未満」の条件を指定する場合、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

SQLの未満条件とNULL値の関係性と注意点

NULL値を含むカラムに対して未満の条件を使用する場合、特別な注意が必要です。NULL値は比較演算子では正しく評価されないため、IS NULL演算子と組み合わせて使用する必要があります。


SELECT * FROM products
WHERE price < 5000 
  OR price IS NULL

SQLの未満条件とCASE式を組み合わせた高度な条件分岐

CASE式と未満の条件を組み合わせることで、より柔軟なデータ処理が可能になります。


SELECT 
    product_name,
    price,
    CASE 
        WHEN price < 1000 THEN '低価格'
        WHEN price < 5000 THEN '中価格'
        ELSE '高価格'
    END AS price_category
FROM products

SQLの未満条件における日付データの処理方法

日付データに対する未満の条件指定も、数値データと同様に扱えます。ただし、日付形式には注意が必要です。


SELECT * FROM orders
WHERE order_date < '2024-01-01'
  AND order_status = 'completed'

 

日付の比較では、以下の点に注意が必要です:

  • 日付形式は'YYYY-MM-DD'形式を使用
  • 時刻も含める場合は'YYYY-MM-DD HH:MM:SS'形式
  • タイムゾーンの考慮が必要な場合は明示的に指定
演算子説明使用例
<未満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

 

パフォーマンスの観点から、インデックスを適切に設定することで、未満条件を含むクエリの実行速度を向上させることができます。特に大量のデータを扱う場合は、この点に注意を払う必要があります。