どこまで知っていて欲しいか

これも線引きはとても難しいという結論しか出てこないんだけど、使うかどうかは別として、知識としてはある程度の深さまでは知っていて欲しい。
さすがに再帰 CTE までは要求しないけど、NULL に関する知識は必須と言っていい。
さらに、各種結合、ビューや再帰ではない CTE、PK や FK、インデックスの意味、EXISTS による FORALL の実現、この程度までは知識としてはあって欲しい。


逆に、分析関数やベンダの独自関数なんてものはそこまで入れ込まなくてもいいと思っている。
確かに分析関数は便利だし、高速な場合もある。
でも、基本的には標準 SQL で書けるし、そもそも、それを SQL でやるのが正しいのかどうかはちょっと微妙だと思う。
なのでこれらはどういうことが出来るか程度の認識で問題ない。
本当に必要になってから覚えればいいだけ。


ただし、アドホックな要望が多い社内 SE だと話は別で、どんどん SQL を覚えればいいと思う。
社内 SE は JavaC# なんて覚えるより、SQL正規表現PowerShellPython 等の言語や使っているエディタのマクロなどを覚えた方がよほど役に立つ・・・と、思う。