私の趣味の話になりますが、囲碁の練習方法のひとつに棋譜並べというものがあります。
棋譜並べとは先人が残してくれた名局を、目の前の碁盤に並べていくというだけなのですが、効果の高い勉強法とされています。
碁を打った人の意図を完全に理解する必要はなく、並べるだけで感覚やカンの部分が養われると言われています。
プログラミングでも、この練習方法は応用出来そうです。
SQL棋譜並べと題して、SQLパズルという書籍に載っている難しめのSQLを実際に手を動かして実行してみます。(プログラミングの世界では一般的に写経と言いますね。。)
paiza.IO
ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO
ITエンジニア向けの無料オンラインプログラミング実行環境サービスです。
ブラウザ上でMySQLのSQLを実行することが出来ます。
今回はこちらのサービスを使わせてもらいました。
SQLパズル 問題 No.14 電話とFAX
社員テーブル(Personnel)と電話テーブル(Phones)があって、各社員の姓名と電話番号、FAX番号を1行にまとめて全員分出力するという問題。
答え その1
答え その2
答え その3
答え その4
参考元
SQLパズル 第2版~プログラミングが変わる書き方/考え方 | ジョー・セルコ, Joe Celko, ミック |本 | 通販 | Amazon
ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO
写経でプログラミングが上達するか - Qiita
誰もが知ってるけど敢えて言わない確実に身につくプログラミング学習法