質問するログイン新規登録

回答編集履歴

1

追記

2021/04/09 06:00

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -13,4 +13,10 @@
13
13
  select * from m3
14
14
  where n > (select avg(n) from m3)
15
15
  ;
16
- ```
16
+ ```
17
+ > 共通テーブル式は妥協できるレベルですが、割と新しい機能っぽいので、昔の人はどうしてたのかなと
18
+
19
+ WITH(CTE)を使用しない場合、同じサブクエリーを複数展開しなければならず、CTEを利用すると、可読性も上がるし、コストも下がる傾向にあるので使わない手は無いかと思います。
20
+ 尚、WITHでは他のWITHも参照できるので、ネストしたものも分解し可読性を上げることが出来ます。
21
+
22
+ ただ、どんな場合でもコストが下がるかと言えば一概には言えないと思うので、実行計画を確認しながらの組み立てをお薦めします。