Menu
Coddy logo textTech

Subqueries Part 1

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

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

idsalary
148
234
346
413
528

AVG() のような集約関数は WHERE 句で使用できず、データがグループ化された後にしか使用できないため、WHERE salary > AVG(salary) を直接使うことはできません。そのため、サブクエリが必要になります。

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

サブクエリを使用すると、まず平均給与(内部クエリ)を計算し、次にその値を使用して従業員を絞り込む(外部クエリ)ことで、会社の平均給与よりも多く稼いでいる従業員を見つけることができます。

平均は (48 + 34 + 46 + 13 + 28) / 5 = 33.8 となるため、クエリの結果は次のようになります:

idsalary
148
234
346
challenge icon

チャレンジ

簡単

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

  • <strong>shop</strong>: <strong>price</strong>, <strong>quantity</strong>, <strong>category</strong>, <strong>list_date</strong>

価格がすべての商品の平均価格よりも高いすべての商品(すべての列を選択)を取得するクエリを記述してください。

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

自分で試してみよう

quiz icon腕試し

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

基礎のすべてのレッスン