Menu
Coddy logo textTech

サブクエリ 1

CoddyのSQLジャーニー「基礎」セクションの一部。レッスン 38/72。

サブクエリを使用すると、複数のクエリを 1 つにまとめることができます。たとえば、次の <strong>employees</strong> テーブルを考えてみましょう。

id給与
148
234
346
413
528

サブクエリが必要なのは、WHERE salary > AVG(salary)を直接使用できないためです。AVG()のような集計関数はWHERE句では使用できず、データをグループ化した後にのみ使用できるからです。

SELECT id, salary
FROM employees
WHERE salary > (
    SELECT AVG(salary)
    FROM employees
);

サブクエリを使うと、まず平均値(内部クエリ)を計算し、その値を使って従業員を絞り込む(外部クエリ)ことで、会社の平均給与を上回る給与を得ている従業員を見つけられます。

平均は (48 + 34 + 46 + 13 + 28) / 5 = 33.8 なので、これがクエリの結果です:

id給与
148
234
346
challenge icon

チャレンジ

簡単

利用可能なテーブルと列:

  • shop: price, quantity, category, list_date

価格がすべての商品の平均価格より高いすべての商品(すべての列を選択)を見つけるクエリを書いてください。

WHERE句のサブクエリを使用して平均価格を計算し、その後、各商品の価格をこの平均と比較してください。

自分で試してみよう

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: SQLプレイグラウンド