はじめに
Qiita Advent Calendar 2021の6日目の担当は、Qiita株式会社プロダクトマーケティングGの中泉(@zumi0)です!よろしくお願いします!
この記事では、エンジニアではない自分がSQLをかこうと思ったきっかけから、かけるようになるまでにやったことをまとめていきたいと思います!そのため、この記事では非エンジニアの方に向けて書いている部分もあります。その辺りをご理解いただき読んでいただけると嬉しいです。
この記事が、エンジニアではない方がSQLを学ぶきっかけになったら嬉しいです。
SQLとは
そもそもSQLとは何ぞやということですが、WikipediaでSQLを調べると以下のようにまとめられていました。
SQL(エスキューエル[1][ˈɛs kjuː ˈɛl] ( 音声ファイル)、シークェル[1][ˈsiːkwəl] ( 音声ファイル)、シーケル[2])は、関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である。
簡単にいうと、SQLとはデータベースを操作するための言語です。
このような言い方をすると色々な方面からお叱りを受けるかもしれませんが、今回は非エンジニアの方向けに書いているので、その辺りはご容赦ください。
SQLをかこうと思ったきっかけ
自分がSQLをかこうと思ったきっかけは、社内のBIツールを使ったことでした。弊社ではBIツールとしてRedashを使っていて、Redashでは基本的にSQLを記述することでデータ抽出を行います。SQLをかけない人がデータ抽出をする際は、SQLがかけるエンジニアに依頼する必要がありました。
誰かに依頼すると、結果が返ってくるのに時間がかかることや、依頼された人の時間を奪ってしまうことになります。そこで自分がSQLをかけるようになれば、そういった問題がなくなると思い、SQLをかこうと思いました。
SQLをかくためにやったこと
TechAcademyのWebアプリケーションコース
社内の研修で、TechAcademyのWebアプリケーションコースを受講する機会がありました。このコースはWebアプリケーションコースでSQLがメインではないですが、SQLを解説している箇所があります。
そこでは、主に以下の内容を学びました。
- テーブルからデータの抽出(SELECT,FROM)
- データの絞り込み(WHERE,IN,LIKEなど)
- テーブル同士の結合(JOINなど)
- etc
簡単な内容ではありますが、SQLの基本や実際に実行することができたので、自分の中で「SQLはこういうものなんだ」と知ることができました。
クエリをひたすら読む
SQLがどういったものか知ったり実際に触ってみた後は、ひたすら社内にあるクエリを読みました。
ここでいうクエリとは、SQLでかかれたデータベースに対する命令文のことを指しています。
自分は全体を勉強してからやってみるということが苦手だったので、すでにあるクエリを読んで勉強する手法を取りました。クエリによく出てくるかき方や構文を調べたり質問することを繰り返し、どんなことがかいてあるか理解していきました。
読んだ内容を使ってクエリをかく
クエリをひたすら読んだ後は、その内容を使ってクエリをかいてひたすら実行していました。
最初のうちはすでにあるクエリの必要な部分をコピペして一部を直し実行するだけを繰り返しました。慣れてくると、色々なクエリ同士を組み合わせて実行することもできるようになりました。この過程でたくさんのエラーに出会ったわけですが、しっかりとエラー文を読み理解できるよう努めました。自分で調べてもわからない場合はエンジニアに質問して理解していました。
さいごに
今回の記事では、エンジニアではない自分がSQLをかくきっかけやかけるようになるまでにやったことをまとめました。自分が特にSQLをかけるようになるまでにやってよかったと思っていることは、すでにあるクエリを読み、正しいかき方やよく使われるかき方を身につけることです。最初から自分で一からクエリをかくということは大変なので、すでにあるものを使い理解するといいと思います。
Qiita Advent Calendar 2021の7日目は、Qiita株式会社プロダクト開発Gの@wataru86が担当します!
どんな記事か楽しみです!