SQLSERVER パズル63 MINの扱いが難しく理解できない、相関サブクエリ

パズル63 問題文
dataのまとまりで連続しているnumを表示したい。

MINというと結果が1つのはずだが、ある条件になると複数を出力するみたい。
その条件がよくわかっていない。>>わかった。相関サブクエリだと繰り返し実行されるために複数回実行される
MINはたいていGROUPを使っていくつかのまとまり単位で最小値を出力する。つまりまとまりの中で1つだ。
この条件に当てはまらないのは、結合した条件で、結合されていないテーブルとの条件が加わったときに
MINが複数出力されるのかもしれない。がよくわかっていないので、またいつか勉強することにする。

調べると相関サブクエリとういことらしい
FROM句に関係のないテーブルが存在する。
Tは存在するが、T1テーブルは、サブクエリの外側にある。
メインクエリのテーブルの行ごとに、サブクエリが繰り返し実行されるらしい。
だからこの場合MINがあってもグループ単位の一回ごとの出力で出力されることになる。だからMINが条件に一致すればその都度出力される。(文章で説明するのは難しいものだ)
親のレコード1に対してサブクエリが1回実行されるため、処理が遅くなるかもしれない。

なんとなく理屈がわかってきた。この場合、INNER JOINでも代用できるらしい。

詳しくには
https://language-and-engineering.hatenablog.jp/entry/20101108/p1

こちらの記事もどうぞ