情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

サブクエリの使い方

サブクエリでのWHEREについて

今回はサブクエリの使い方に関して記載していきます。

1.WHERE

まずはサブクエリであるデータを検索して全体の平均以上もしくは以下の場合出力したいとき

例題 ・とあるショッピングサイトには会員がいて買い物をするごとにポイントがつきます。各会員が保有しているポイントの平均値以上のポイントを持っている顧客を抽出したい。

customersテーブル

+------+-----+
| name |point|
+------+-----+
| 上田 | 15  |
| 田口 | 25  |
| 赤西 | 20  |
| 中丸 | 45  |
| 田中 | 10  |
| 亀梨 | 35  |
+------+-----+
SELECT
    name , point
FROM
    customers
WHERE
    point >= (
    SELECT
        avg(point)
    FROM
        customers
);


田口 | 25 
中丸 | 45
亀梨 | 35

保有ポイントの平均値以上のポイントを持っているメンバーのみ表示されます。

ちなみにサブクエリを使わずに無理矢理WHERE句だけで書こうとした場合

SELECT
    name , point
FROM
    customers
WHERE
    point >= avg(point)

これはうまくいきません

今回は以上になります。