SQLを昨日から勉強しているのですが、英文法の知識でかなり解けることに気が付きました。
また、英語の語順で考えるとSQLをアルゴリズム的に書けることにも気が付きました。
英語の語順とは雑に言えば、「まず文を完成させて、補足していく」というプロセスです。
キング牧師の、
"I have a dream that ~"
とかまさにそうですよね。
"I have a dream"の時点で文は完成しています。それに補足する形でthat節が続きます。
SQLもまずはselect文で絶対に必要な要素を宣言して、あとはそれに合わせるようにFROMとかJOINとかしていけばいいわけですね。
他にも英語っぽいところがあります。
- HAVINGは現在分詞形容詞用法で前置詞BYのあとの名詞(カラム名)を修飾している
- サブクエリは関係代名詞
英語ではないけどSQL以外の知識も使えますね。
- ASはPythonと同じ
- 「テーブル名.カラム名」は「インスタンス.インスタンス変数」と同じ
SQLの難しいところはSQL以外にありそうだ。というのが勉強2日目の今の僕の雑感です。