📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 56行目: | 56行目: | ||
<br> | <br> | ||
==== 相関サブクエリ (外部クエリの値を参照) ==== | ==== 相関サブクエリ (外部クエリの値を参照) ==== | ||
* サブクエリで外部クエリのテーブル (t1) を参照している。 | |||
*: t2.Date < t1.Date | |||
* サブクエリが外部クエリの各行に対して実行される。 | |||
* スカラサブクエリとして使用している。 | |||
*: 単一の値を返す。 | |||
<br> | |||
# 外部クエリがT_Sampleテーブルの各レコード (t1) を処理する。 | |||
# 各レコードに対して、その行の日付より前の全ての売上の平均を計算する。 | |||
# 結果として、各レコードの名前、日付、売上、その日付以前の平均売上が表示される。 | |||
<br> | |||
これは時系列分析でよく使用されるパターンであり、各時点での過去の平均値を計算するものである。<br> | |||
<br> | |||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
-- 各レコードより前の日付の平均売上を計算 | -- 各レコードより前の日付の平均売上を計算 | ||
| 63行目: | 75行目: | ||
WHERE t2.Date < t1.Date) as PriorAvgSales | WHERE t2.Date < t1.Date) as PriorAvgSales | ||
FROM T_Sample t1; | FROM T_Sample t1; | ||
</syntaxhighlight> | |||
<br> | |||
* サブクエリで外部クエリのテーブル (t1) を参照している。 | |||
*: t2.Sales = t1.Sales | |||
* サブクエリが外部クエリの各行に対して実行される。 | |||
* EXIST句を使用している。 | |||
<br> | |||
<syntaxhighlight lang="sql"> | |||
-- 売上が存在するレコードを取得 | |||
SELECT * FROM T_Sample t1 | |||
WHERE EXISTS ( | |||
SELECT 1 FROM T_Sample t2 | |||
WHERE t2.Sales = t1.Sales | |||
); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
| 72行目: | 98行目: | ||
SELECT Sales FROM T_Sample | SELECT Sales FROM T_Sample | ||
WHERE Sales > 150 | WHERE Sales > 150 | ||
); | ); | ||
</syntaxhighlight> | </syntaxhighlight> | ||