SQLにおいて、特定の条件下での最大値や最小値を取得する必要がある場面は多々あります。この記事では、サブクエリを使用して、特定の条件下での最大・最小値を簡単かつ効率的に取得する方法を解説します。
目次
はじめに
SQLは非常に強力なデータ操作言語ですが、初学者や中級者がつまずくポイントの一つが、サブクエリの使用方法です。特に、条件付きで最大・最小値を求める際には、サブクエリが非常に便利です。
サブクエリとは?
基本的な定義
サブクエリとは、SQL文の中で別のSQL文を使用することを指します。主にSELECT文、INSERT文、UPDATE文、DELETE文で使用されます。
サブクエリの種類
サブクエリには、スカラーサブクエリ、行サブクエリ、テーブルサブクエリの3種類があります。
条件付きでの最大・最小値の取得
基本構文
サブクエリを使用した最大・最小値の取得の基本構文は以下のとおりです。
SELECT MAX(column_name)
FROM table_name
WHERE column_name = (SELECT MAX(column_name) FROM table_name WHERE condition);
具体的な例
商品テーブル(product)があり、各商品にはカテゴリ(category)が割り当てられていると仮定します。
product_id | product_name | price | category |
---|---|---|---|
1 | リンゴ | 200 | フルーツ |
2 | オレンジ | 180 | フルーツ |
3 | ブロッコリー | 150 | 野菜 |
4 | トマト | 100 | 野菜 |
このテーブルから、「フルーツ」カテゴリに属する商品の中で最も高価な商品を取得するSQLは以下の通りです。
SELECT MAX(price)
FROM product
WHERE price = (SELECT MAX(price) FROM product WHERE category = 'フルーツ');
まとめ
サブクエリを理解し、適切に使用することで、より複雑なデータ抽出が可能になります。特に、特定の条件下での最大・最小値を求める際には、このテクニックは非常に有用です。練習を積むことで、SQLのスキルを一段と高めましょう。
コメント