手続き型言語とSQLの違い

VB6,VBA,VBS,EXCEL,DOS,BAT,WSH,WORDの小技メモ

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ 燈明日記/ Perlノート/ 漢字起源/ yahoo

はじめに

本ページは、ウインドウズ系全般のティプスメモです。

そう、はじめはVB系のティプスメモだったのですが…いつの間にか、ウインドウズ系全般のティプスメモになってしまいました。

ちなみに、ティプス(Tips)とは、マニュアルに書かれていない技法や裏わざのことですが、本ページでは、私が経験してこれはと思ったノウハウのメモになっています。

尚、以下は本サイトの最新情報(ブログ)です。

それでは、本ページが何かのお役に立てれば幸いです。ごゆっくりご覧ください。

◆手続き型言語とSQLの違い

まず、前フリです。最近はオブジェクト指向言語が流行りですが、オブジェクト指向言語は、プログラミングする発想がオブジェクト指向であって、 実際にプログラミングする時は、手続き型言語となんら変わらないので、今回は、オブジェクト指向言語も手続き型言語に含めます。

それでは、本題です。手続き型言語は、問題解決の処理結果を得るために、その手続きを変数やインデックスを常に意識しながら上から下へと一次元的に記述していきます。

しかし、SQLは、手続きや変数、インデックス等を全く意識しないで、2次元的な発想でそれをSQL文法に結びつけて記述します。 逆に言うと、SQLは、2次元的な発想さえ出来れば、手続きや変数等を全く意識しないで、処理結果を得ることができるという便利な言語なのです。

では、2次元的な発想とは何かというと、表に対してを行単位に一行づつ処理するような一次元的な発想でなく、表全体に対して2次元的に発想するのです。 具体的には、WHERE句で行を絞り、それをGROUP BY句でグループ化し、それを(グループ内を)HAVING句でまた絞る・・・。 そう、どこにも手続きや変数は出てこないのです。これらは、SQL実装内部で多分やってくれているのです。

つまり、2次元的な発想をSQL文法に結びつけるだけで、問題解決の処理結果を得ることが出来るわけです。 しかし、結びつけるのが、結構、難しかったりするわけですが……。

おわりに

以下のページには、すべてのTIPSがあります。もしよろしければ、どうぞ!

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくVB-TIPS掲示板へご指摘ください。