SQL

SQLの練習ができるWebサイト4選【初心者向け】

SQLの練習ができるWebサイト4選【初心者向け】
SQLの基礎は学び終えたから、後はひたすら練習を積みたい!良いWebサイトとかないかな??

 

今回はこういった方向け。

 

ひたすらSQLを書いて練習したい人におすすめのWebサイトを4つご紹介します。

SQLの練習ができるWebサイト4選【初心者向け】

今回紹介するSQLの練習ができるWebサイトは以下の4つです。

 

TECH PROjin

TECH PROjinはSQLの問題が75問掲載されているWebサイトです。

 

「力試しシリーズ」と「基礎力チェックシリーズ」に分かれており、さらに星の数で難易度も可視化されているので、自分のレベルに合った問題から進めていくことができます。

 

また、実際に問題で使用するDBのデータ(worldcup2014.sql)も用意されているため、環境さえ作ることができれば実際に手を動かして問題を解くこともできます。

 

今回はDockerを使ってサクッとSQLを実行する環境を作る手順をご紹介します。

以下の5ステップです。

  1. データをダウンロード&解凍する
  2. ディレクトリにデータを配置する
  3. docker-compose.yamlを作成する
  4. コンテナを立ち上げる
  5. クライアントツールでコンテナと接続する

 

1. データをダウンロード&解凍する

まずはTECH PROjin内の「worldcup2014.zip」から問題に使用するデータ(zipファイル)をダウンロードします。

ダウンロードが終わったら解凍してworldcup2014.sqlを用意します。

 

2. ディレクトリにデータを配置する

任意のディレクトリの下にdbディレクトリを作成し、その下に先ほど解凍したworldcup2014.sqlを配置します。

 

次に作成するdocker-compose.yamlも含めると、最終的なディレクトリ構成は以下のようになります。

最終的なディレクトリ構成

 

3. docker-compose.yamlを作成する

次に、docker-compose.yamlを作成し、以下を記述します。

version: "3"
services:
  db:
    image: mysql:5.7
    ports:
      - 3306:3306
    volumes: 
      - ./db:/docker-entrypoint-initdb.d
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: database
      MYSQL_USER: user
      MYSQL_PASSWORD: pass

 

4. コンテナを立ち上げる

以下のコマンドを実行してコンテナを立ち上げます。

docker-compose up -d

 

docker-compose psで、以下のようにStateがUpになっていたらOKです。

StateがUpになっていたらOK

 

5. クライアントツールでコンテナと接続する

あとは作成したコンテナに繋ぐだけです。

Sequelの場合、以下のように接続情報を設定することでDBコンテナと接続できます。

SequelでMySQLコンテナと接続する

 

接続後に以下のようにテーブル一覧が表示されたらOKです。

テーブルの一覧が表示されていたらOK

 

あとはひたすらSQLを書くのみ!

 

DockerのMySQLコンテナに初期データを入れる方法についてはこちらにもまとめてあるので、参考にして頂けると幸いです

 

TECH PROjinはこちら

 

Progate

プログラミング学習サービスのProgateでもSQLの練習をすることができます。

 

Progateの場合は、ひたすらSQLを書くというよりは、SQLの教材で概念を学んだ後に、実際に書いて実践する感じです。

 

まだSQLの基礎に自信がない人におすすめです。

 

Progateはこちら

 

SQLBolt

SQLBoltはその場でクエリを書きつつSQLの実践ができる教材です。(環境構築は一切不要)

 

特徴は書くクエリの結果がリアルタイムで反映される点です。

 

自分が書いたクエリがその場でダイレクトに反映されるので、イメージは非常に掴みやすいと思います。

 

ただ、英語で書かれてあるのと、クエリを書くところのカーソルの位置が若干おかしくて書きづらいのが難点です。。

SQLBoltは、こちらの動画でもおすすめ教材として紹介されています!

 

SQLBoltはこちら

SQLZOO

SQLZOOもSQLBoltと同様にその場でクエリを書いて実行ができる教材です。

 

ただ、日本語対応していない項目があるのと、SQLBoltのようにリアルタイムで結果の反映はされません。

書いたクエリを実行して正解かどうかを判定する形です。

 

素晴らしい教材なのですが、個人的には上3つの教材の方が使いやすい気はしています。

 

SQLZOOはこちら

 

個人的におすすめなSQL上達ルート

個人的には、以下の手順で勉強するのがおすすめです。

  1. ProgateでSQLの基礎を学びつつ実際にSQLを書いてみる
  2. TECH PROjinでひたすら練習を積む
  3. 余裕があればSQLBoltSQLZOOにも取り組む

 

1,2,3のループを回してもいいですし、1の後に2を何度も繰り返すでも良いと思います。

 

SQLは、もちろん最初は概念を学ぶ必要はありますが、はっきり言って「慣れ」の部分も大きいです。

 

当たり前ですが、書かないことには一生書けるようにはならないので、ひたすら「自分で考えてSQLを書く経験」を積み重ねると良いでしょう。

 

偉そうなことを言っていますが、私もまだまだ勉強中の身です!共に精進しましょう!!

 

SQLの練習ができるWebサイトまとめ【おわりに】

今回はSQLの練習ができるWebサイトとして以下の4つを紹介しました。

 

どれもとても良い教材なので、上手く活用してSQLのスキルを上げていきましょう。

最後まで読んで頂きありがとうございました。

2022年1月29日追記

以下のSQLabというサービスもSQLの練習には良さそうです。

SQLab

 

ぜひ試してみてはいかがでしょうか?

こちらの記事もおすすめです!

SQLの基礎の基礎の基礎についてまとめてみた【初心者向け】
SQLの基礎の基礎の基礎についてまとめてみた【初心者向け】SQLの基礎の基礎の基礎についてまとめてみました。参考にして頂けると嬉しいです。...
【SQL】内部結合・左外部結合・右外部結合・完全外部結合の違いを分かりやすく解説
【SQL】内部結合・左外部結合・右外部結合・完全外部結合の違いを分かりやすく解説SQLの内部結合・左外部結合・右外部結合・完全外部結合の違いを分かりやすく解説します。...
KVSとは?基礎をわかりやすく解説します【ハンズオンあり】
KVSとは?基礎をわかりやすく解説します【ハンズオンあり】KVSの基礎を分かりやすく解説します。...

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA