いままであまり使う機会のなかった GROUP BY を多用する必要に迫られたのでちょっと調べてみたら、 CASE は文じゃなくて式ですとか SQL は集合を扱う言語ですとか手続き型言語で慣れ親しんだ考え方を一度捨ててくださいとか SQL でも分岐やループは表現できますとか、 SQL ってこんなに難しいものだったのかと思い知らされた。 SQL の真髄を学ぶのはまた今度にして今は適当にぐぐって出てきたページの SQL を真似してだな・・・と思いつつぐぐってみても、もう今知りたいレベルの内容になると初級の知識では理解できないことしか出てこなくなった。諦めて決定版っぽい本を何冊か注文した。
いろいろ解説を読んでいたら、「SQL は手続き型言語と違い云々」という話のところで関数指向だか関数的だかいう単語が出てきて、さっぱり意味がわからない理由が少しわかった気がした。関数型言語ってやつも、これっぽっちも理解できる気がしないままだ。頭が悪いのは今更どうしようもない。小学生のときやらされた算数の九九のように、ひたすらこれだけ繰り返せば関数型言語っぽい思考法が身につきますよ!という練習方法はどこかにないものだろうか。本の例題を読んでみても、たいていあるところで断絶してしまう。「ここまでは余裕でわかるよ」っていうところから、「ここからまったく理解不能」というところまでが、たった二ページくらいなのに果てしなく遠い。溝の手前は、原理原則はともかく「そういうものだ」と納得できている事柄ばかりなので復習して理解が深まったりもしない。溝の向こう側は何度読んでも例題を写してもさっぱり頭に入らない。そうやって先へ進めなかったものが多い。挫折感ばかりで満足感に乏しい、フラストレーションのたまる人生だなぁ。