最近仕事でSQLを使ったプログラムの改修を行っています。 SQLとは簡単に言うとデータベースのデータを操作する言語のことで、これまであまり縁がなくテストデータの作成やトラブル時の一括データセット等では使いましたが、プログラムに組み込んで使うことはほぼ初めての経験になります。
ただそうは言ってもデータベーススペシャリスト試験(DB)で勉強しましたので、一応それなりにはわかっているつもりでしたが、今回のプログラムでは、SELECT文のなかのFROM句の中にSELECT文があるので戸惑いました。
SELECT文などの中にさらにSELECT文のある問い合わせを副問合せと言いますが、情報処理教科書では副問合せの欄外の参考に「副問合せはWHERE句の中だけではなく、SELECT文のFROM句の中で使用したり、HAVING句、UPDATE文のSET句及びWHERE句、…」とだけ書いてあり、具体的な説明もなかったので、ほとんど「ほぉほぉ」という感じで読み流していました。
さらに今回は第四世代言語という特殊な言語で使用するので、そのSELECT_SQLというコマンドの中に、本来のSQLのSELECT文があり、さらにその中のFROM句の中にもSELECT文があるという、SELECT文のマトリョーシカ状態で、初め目眩がしました。
SELECT文自体も巨大なもので読み解くのに時間がかかりましたが、ようやくわかってきた状態です。
ただ、もしDB試験の勉強でSQLを学んでいなかったら、ASで別名を付けたり、そのAS自体も省略出来たりすることがわからなかったと思いますので、資格の勉強が実務に役立ったと感じています。
最近担当しているその他の案件でも、会計インターフェース構築プロジェクトに途中から参加しましたが、一応簿記2級を持っているのでそれなりに会話について行けましたし、名刺に入っているPMPの文字でハッタリもかませましたので、資格は実務にも役に立つものだと実感しています。
**************************
かなり勉強は遅れ気味ですが、IPAの資格で最もハッタリをかましやすい⁉︎ITストラテジスト試験(ST)合格に向けて、明日から頑張ることにします。
巨大化しているわけではありません