はじめに
プログラミング言語は新旧の入れ替わりが激しく、現在使われている言語で10年以上の歴史を持つものはほんのわずかです。たとえば、現在もなおメインフレーム環境で広く使われているCOBOL、1990年代の半ばに登場して以来、最も人気の高いプログラミンング言語の1つとなったJava、そしてオペレーティングシステムやサーバー開発、組み込みシステムであいかわらず根強い人気を誇るCなどはその例です。データベース分野にはSQLがあり、その起源は1970年代までさかのぼります。
SQLはリレーショナルデータベースのデータを生成、操作、取得するための言語として作成されて以来、40年以上にわたって存在しています。しかし、この10年ほどの間にHadoop、Spark、NoSQLなどの他のデータプラットフォームが勢力を大きく拡大し、リレーショナルデータベース市場に食い込んできました。とはいえ、本書の最後の数章で言及しているように、SQL言語は進化を遂げ、データがどこに格納されているか(タブレットか、ドキュメントか、フラットファイルか)にかかわらず、さまざまなプラットフォームからデータを取得できるようになっています。
SQLを学ぶのはなぜか
データサイエンス、ビジネスインテリジェンス、あるいはデータ分析のその他の分野で働いている場合は、リレーショナルデータベースを使う予定があるかどうかにかかわらず、PythonやRといった他の言語/プラットフォームと併せてSQLを知っておく必要があるでしょう。データは今やどこにでも大量に存在し、次から次へと速いペースで届くため、このデータから意味のある情報を取り出せる人々は引く手あまたです。
本書を使うのはなぜか
まったくの初心者を対象とした本はいくらでもありますが、そうした本は表面的な内容をざっと取り上げるだけになりがちです。その対極にはリファレンスガイドがあり、言語の文を1つ残らず列挙してその機能を細かく解説します。しかし、そのような本が役立つのは何をしたいかがわかっていて構文を知りたい場合だけです。本書はその妥協点を探るべく、SQL言語の背景情報から始めて、基礎固めをした後、読者の能力をいかんなく発揮できるであろうより高度な機能へと進みます。さらに、本書の最終章では、非リレーショナルデータベースのデータに対してクエリを実行する方法を紹介します。入門書で取り上げられることは滅多にない内容です。 ...