RaNxxx’s blog

データまわりの知識やノウハウを紹介するブログです

非エンジニアが効率的かつ高速にSQLを学習する方法

仕事のニーズもあり、6月末までにSQLを習得する目標を立てました。 最近はプライベートの時間を使って、SQLの勉強法をぐぐっていました。

非エンジニアの私は、プログラミングの勉強でも、ほかの数学や統計の勉強でも、 やはり概念を一通りに頭に入れながら、練習問題を解いていくのが最も効率かつスピーティな方法だと思います。

そのために、私が今使っているものを紹介するとともに、SQL初心者に最も良い練習サイトの答えも掲載していこうと考えています。 また、ここで私が書いた答えは、あくまでも非エンジニアかつ勉強したばかりの初心者としての記録であるため、必ずしも一番の正解だと思わないでください><

 


 

SQLの勉強にあたって、利用可能なサイトや本

サイト:SMART

サイトには、SQL以外にも、PHPWordPressなどの紹介があります。 このサイトを載せるのは、SQLは軽くググって、漠然としたイメージを持つ段階で、このサイトに非常に簡潔にまとめられている文章を読むと、理解がかなり深まります。

見ているとおり、DBMSの基礎知識から、実際のSQL言語まで、必要最低限な知識を一通りまとまっていて、サイトのUIも非常に優れているため、おすすめします!

 

サイト:Gunosyのエンジニアが知見を共有する技術ブログ

私も最初にぐぐって、たどり着いたのはこちらのブログでした。 実際、今日このグログで掲載する練習問題のサイトも、このブログ経由で知りました。

勉強法を、このブログも非常に詳しく紹介しているので、ぜひご一読ください。

 

本:10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く

こちらの本ですが、実際先程紹介したGunosyのブログで知りました。 この本は、私はまだ途中までしか読んでいませんが、 SQLの知識を体系的に一通りイメージを付けるのによさげです。

例えば、window関数やアクセスログの解析など、高度な知識もまとめられていて、 かつ、実務のイメージやノウハウも含まれるので、イメージ付けするのにいいと思います。

もちろん、実際SQLを身につけるには、大量な練習問題を解く必要がありますが、 この場合は、以下のサイトから着手するのはおすすめです。

 

サイト:SQLZOO

このサイト!私のfavoriteです! まるでpythonを勉強するのに、checkioの存在のようで、下記の3つのメリットがあります:

  1. 文法が紹介されているだけでなく、文法ごとに大量な練習問題があります。
  2. サイトは、英語/日本語/中国語三ヶ国語で閲覧することが可能です。
  3. サイト上で、直接SQLを書くことができますので、ぜひ色々書いてみてください。

 

サイト:studyyourself

こちらの練習サイトも、かなりの頻度で使いました。

良い点としては、知識の整理がまとまっていて、UIが見やすくて、豊富な練習問題もあるところです。 しかも、練習問題の答えは設問のすぐ隣にあって、少しつまずいたときにすぐにヒントをみられることができます。 ただし、細かいUX的なところで、練習問題で設問の説明が十分じゃなかったりするところがありますが、 良さと比べれば、そこまで気にしません。

 


 

最後に、ご参考ですが、私がSQLZOOで解いた問題をGithubに記録しました。 一部日本語の訳のない練習問題に対して、英語のまま記載させていただきました。 もし、より良い答えがあれば、ぜひ優しく教えていただければ幸いです。

 

https://github.com/RaNxxx/sqlzoo_answers

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑