SQL Serverで平均体重より重い犬を抽出するサブクエリの使い方

SQL Server

SQL Serverで犬テーブルから平均体重より重い犬を抽出するには、サブクエリを活用すると簡単に実現できます。本記事では、サブクエリの基本構文と具体例をわかりやすく解説します。

犬テーブルの例

まず、対象となるテーブルの構造を確認します。例として、以下のようなテーブルを考えます。

Dog(DogID, DogName, Weight)

Weight列に各犬の体重が格納されています。

平均体重を求めるサブクエリ

サブクエリを使うと、まず全体の平均体重を計算し、その結果を元に条件抽出が可能です。

例:
SELECT DogName, Weight
FROM Dog
WHERE Weight > (SELECT AVG(Weight) FROM Dog);

このSQLでは、括弧内のサブクエリで全体の平均体重を求め、その値より大きい犬のみを抽出しています。

サブクエリの仕組み

サブクエリは、まず内側で実行されるため、AVG(Weight)で平均値が計算されます。その後、外側のWHERE句でWeightとの比較が行われます。

これにより、平均体重より重い犬だけを効率的に抽出できます。

応用例:体重と犬種を組み合わせた抽出

例えば、特定の犬種のみを対象に平均体重より重い犬を抽出することも可能です。

例:
SELECT DogName, Weight, Breed
FROM Dog
WHERE Breed = ‘柴犬’ AND Weight > (SELECT AVG(Weight) FROM Dog WHERE Breed = ‘柴犬’);

まとめ

SQL Serverで平均体重より重い犬を抽出するには、サブクエリでAVG関数を使用して平均値を取得し、WHERE句で比較する方法が有効です。基本構文を理解すれば、条件を追加したり応用したりすることも容易です。

コメント

タイトルとURLをコピーしました