MySQL(その15サブクエリ)

14から続きます。

1:サブクエリとは?

ある問い合わせの結果に基づいて、異なる問い合わせを行う仕組み

例:2017年12月に商品を購入していないユーザーにメルマガを送りたいので該当ユーザー一覧を出したい!

補足:必要な情報はユーザーid、名字、email、ER図を参考に

select
id,last_name,email
from
users
where id not in(
select
user_id
from
orders
where
order_time >= '2017-012-01 00:00:00'
and order_time < '2018-01-01 00:00:00');

応用)全商品の平均単価よりも単価が高い商品の一覧を表示したい!

まずはじめにproductsテーブルから全商品の平均単価を出す

select avg(price) from products;

これをサブクエリとして使う

select
*
from
products
where
price >
(
select
avg(price)
from
products);

平均単価4937.7円より金額が高いものが抽出された!

応用)2017年12月に商品を購入したユーザーにメルマガを出したいので該当ユーザー一覧を抽出したい!

補足:必要な情報はユーザーid,名字,email,ER図を参考に

select
id,last_name,email
from
users
where id in(
select
user_id
from
orders
where
order_time >= '2017-012-01 00:00:00'
and order_time < '2018-01-01 00:00:00');

その16に続きます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です