
文系学生インターンである僕がSQLを使えるようになった話
こんにちは。僕は現在大学4年生で、某IT企業で2年間ほど長期インターンシップをしています。インターンシップをする中で、僕はSQLを身につけました。
今回は僕がSQLを身につけるまでの過程、SQLを身につけてよかったことをお話することで、以下の2点をお伝えできればと思います。
① 文系の人間でもSQLを身につけられる
② SQLを身につけると良いことがたくさんある
これからSQLを身につけようとしている人、興味を持っている人の参考になれば幸いです。
01. 自己紹介
僕は高校2年生を最後に理系科目から離脱している文系人間です。大学受験の科目は英語、国語、地理。大学での専攻は地理学です。
高校の時は数学に対して苦手意識がありました。なぜその解になるのかわからず、とりあえずテストのために公式を暗記してました。
とにかく僕はド文系人間であるということです。
02. SQLとは何か、何に使うのか
一応知らない方のために、そもそもSQLとはなんなのか、ググって一番上に出てくるサイトには以下のように書いてあります。
SQLはデータベース(RDBMS)を操作するための言語です。データベースにデータを挿入したり、検索したりする際に利用します。データベースのなかには、数万・数百万件ものデータが保存されていますが、SQLを使うことで効率的に操作をすることが可能なのです。
僕は主にデータを検索するためにSQLを使用します。インターン先では某口コミ投稿アプリを運営しており、サービス運営や改善のために必要な細かいデータ抽出を行います。
以下のコードが実際に僕が普段使用しているSQL文の一例になります。
select
date(SUBSTRING(created_at, 1, 10)),
count(id) as photo_count
from
photos
inner join
(
select
photo_id
from
spot_photo_relations
where
dt = DATE_FORMAT(DATE_ADD('day', - 1, now() AT TIME ZONE 'Asia/Tokyo'), '%Y%m%d')
) a
on photos.id = a.photo_id
where
dt = DATE_FORMAT(DATE_ADD('day', - 1, now() AT TIME ZONE 'Asia/Tokyo'), '%Y%m%d')
and date(SUBSTRING(created_at, 1, 10)) between date('2020-07-01')
and date('2020-07-05')
and length(text) - length(caption) >= 100
and type = 5
and parent_id is null
and deleted_at is null
group by
date(SUBSTRING(created_at, 1, 10))
order by
date(SUBSTRING(created_at, 1, 10)) asc
limit 50000
03. SQLを身につけるまでの過程
そもそもなんで僕がSQLを身につけようとしたのかというと、大学3年生の時にインターン先の上長にSQLを身につけた方が良いのではないか、と言われたのがきっかけです。
最初は僕もSQLってなんですか?という状態でした。
でもなんとなく漠然とデータ分析とかできるようになれたら良いなあと思っていた僕にとって、インターンをしながらSQLのような少し専門的なスキルを身につけられるのは、大きなチャンスでした。
SQLを身につけるためにやったことを整理すると以下のようになります。
① プロゲート(プログラミング系言語学習サイト)で基礎を学ぶ
② 上長に借りた本(スッキリわかるSQL 入門)を読んで知識を深める
③ インターン先の社内ツールを使って実際にデータを出してみる
④ データ抽出の際に作ったSQL文を上長に見てもらいアドバイスをもらう
⑤ ③と④を繰り返し行う中で、他の人のSQL文も参考にしながらデータ抽出をしまくる
一番大切なのは⑤。とにかく諦めずに繰り返しチャレンジし続けるのが一番大切だったと感じています。
04. SQLを使えてよかったこと
SQLを使えるようになったことでよかったことは次の3つです。
① スピード感を持って業務を進められる
② 社員さんからの信頼獲得が早い
③ 仕事が楽しい
①スピード感を持って業務を進められる
SQLを身につけたことで、データの抽出からデータ分析まで自己完結することができるので、業務を進めるスピードが早くなりました。
以前は、分析に必要なデータが欲しい時にはエンジニアの方に依頼をしていたため、なんのためにどんなデータが欲しいのかを伝える必要がありました。でも今はその必要はなく、欲しいデータをSQLによって柔軟に出すことができます。
また、自分でデータを出せるようになったおかげで、エンジニアさんの貴重なリソースをお借りせずに済むようになったことも、とても良いことだと感じています。
② 社員さんからの信頼獲得が早い
IT企業の社員さんが皆SQLを使えるわけではありません。なので、SQLを書けるというだけで、以前よりも頼ってもらうことが増えたと感じています。
③ 仕事が楽しい
SQLが書けることで、業務の幅が大幅に広がり、自分が関わる領域が広くなったことで仕事が以前より楽しくなりました。
SQLに限らず自分にできることが増えると楽しいですよね。
05. 最後に
ここまでSQLを習得した過程や身につけてよかったことを書いてきました。ここで僕が伝えたいことを改めてまとめると、以下になります。
① 文系の人間でもSQLを身につけられる
② SQLを身につけると良いことがたくさんある
①については、文系の僕でもSQLのような理系っぽいスキルを得ることができたということ。
②については、SQLを身につけたことでデータの抽出から分析まで自己完結できるなど、良いことがたくさんあるということ。SQLに限らず自分にできることを増やすと良いことがたくさんありますよね。
文系の人でも、SQLに興味があればチャレンジしてみて欲しいです。