サブクエリは何もの?
次のSQL勉強会のため、
何を準備するか考えると、【サブクエリ】が出たので、
サブクエリを説明します。
サブクエリは?
一つのクエリの中に含まれているもう一つのクエリです。
サブクエリは、メインクエリがサブクエリを含む従属的な関係です。
何度ものクエリを実行しなければならない結果を、
簡単に結果を得ることができます。
注意事項
- サブクエリを括弧で囲んで使う。
- サブクエリの中でOrder Byは使用できない。
- 演算子の右側で使う。
使い方
- Selectで
SELECT句でサブクエリを書く場合に、サブクエリの結果の値は1つしか出力されません。
SELECT
member_id,
status,
(SELECT AVG(money) FROM Exchange) AS M
FROM Member
- Fromで
Fromには、テーブル名を指名しますが、
Fromにテーブルの代わりに、サブクエリを使うと、サブクエリで参照された値をテーブルのように活用することができます。
SELECT
member_id,
status,
FROM
(SELECT * FROM Exchange)
- Whereで
Select
member_id
FROM Member
WHERE money IN(SELECT money FROM Exchange WHERE status = 1 AND money > 1000)
サブクエリ VS JOIN
JOINは、すべてのテーブルが対等な関係で、JOINしたすべてのカラムを使うのが可能。
サブクエリは、メインクエリのカラムは自由に利用できますが、
メインクエリはサブクエリのカラムを利用できない。