データ分析と整備のためのSQL

1 min read読了の目安(約1700字

データ分析と整備のためのSQLとは

SQLの入門書や学習コンテンツはたくさんあるが、それらの次に身に着けるべき内容はあまり見当たらない。入門書だけだと実務では対応できないことも多い。知らないことが原因で無駄なことを延々繰り返している人も少なくない。

自分も学び始めのころ非常に困ったので、入門書は大体身に着けた人が実務のレベルをより上げたいと思った際に参考にできる何かがあれば誰かの役に立つだろう、と思い書いている。

何を書くか

  1. 実務のためのSQLの解説
  2. SQLの問題集

両方とも、入門書に書いてあることは大体知っているという前提で書く。

実務であれば具体的な問題とデータでその場で話せるがブログの性質上不特定多数に向けてサンプルデータを使うことになるため、説明がくどくなるのはご了承いただきたい。

また多くの人に伝えるために話が抽象的になりやすい。そのまま読むのではなく自分の使っているデータや書いたクエリに合わせて読み替えて欲しい。

SQLレベル表

基準がないと何かと不便なのでSQLのレベル表を作った。目安にするためなので参考程度に。レベル2から3あたりが中心になる予定。

☆☆☆☆★ レベル1

  • 入門書に書いてあることが部分的にわかる
  • 整理されている1つのテーブルから欲しいデータを抽出できる

☆☆☆★★ レベル2

  • 入門書に書いてあることは大体わかる
  • 整理されているテーブルをいくつか組み合わせてデータを抽出できる

☆☆★★★ レベル3

  • テーブルをいくつか組み合わせて簡単な整理を行いながらデータを抽出できる

☆★★★★ レベル4

  • どんなデータでも整理を行いながらデータを抽出できる

★★★★★ レベル5

  • なんでもできる

なぜzennで書いたか

自分でサイトを作るつもりだったのだけれどもいつになるかわからなかったのでどこで書こうか検討していたら動作が軽くて使いやすそうだったので。しばらくはここで書こうかと思っている。

注意点

「データ分析と整備のためのSQL」の利用にあたり以下の点に気を付けること。

動作確認はBiqQueryのみ

導入が簡単なのでBigQueryでの動作を前提にしている。基本的にはどの環境でも動くとは思うが関数の使い方が違う場合は動かないかもしれない。

重要なのは特定環境における関数の使い方ではなくどこでも通用する考え方だと考えているので他環境への対応はいまのところ考えていない。

サンプルは小さいデータ

サンプルは非常に小さなデータなので大規模になった場合には同じ様に動かない可能性があるし、動いたとしてもコストがかかるかもしれないので実行の際には注意すること。

SQLを使う段階になってからの話

SQLを書く前にヒアリングや調整、データを探したり外部から入手したり、SQLを書く前に処理の流れを考えるとかいろいろあるのは承知しているが、そこまで書き始めるときりがないので「SQLを書く段階になってからどうするか」の話に絞り込んで書く(とりあえずいまのところは)。

なので「SQLだけやっても仕方がない」という話はそれはそうなのだけどキーパーがキャッチの練習をしているところに「どんなにうまく取れてもシュートを打って得点を決めないと意味がない」と言うのと同じぐらい無意味だ。

筆者の独自見解

体系的に誰かに学んだわけではなく実務の中で考えたり教わったりしたことを書いているので、もっと良い方法があるかもしれないし間違えているかもしれない。

鵜呑みにしないで欲しいのと、気になることがあったらコメントなりで是非書いて欲しい。

連絡先

Twitter

メールフォーム

お気軽にご連絡ください。