見出し画像

SQLを学ぶ: ア○ゾンの実際の面接問題から学んで見る

Data Science分野で主要な会社のインタビューでは必須といえるSQL。確かにPython知ってる,統計が使える,ML/DLのいろんな手法知ってる実行できるなども大事なのですが,Data ScienceであろうとData Engineerであろうと,Web ProgrammingであろうとSQLを知っていて損はありません。

なのでData Science分野のインタビューで使われたというデータや質問を集めてどうSQLを書いていくかをマガジンにしました。

SQLはある意味パズルを解くような面白さがあり,答えに至る過程もいろいろとあります。サブクエリーを使いだすと複雑化していきますが,個人的にはCTEを使ったりと一つの質問に対してできるだけ複数の答えを用意しています。

一つ一つは短いですが,100問近くの例題を載せていきますので,これを全部読めばインタビューで使われるような問題に対してだいたいの感覚がつかめるようになると思います。一方で出題者にとってみれば同じデータに対して問題の出し方次第ですので、参考にしていただけるのではないかと思います。

最初にデータと例文と期待される結果を示すので,ご自身で挑戦してみて,後で答え合わせするのもいいかもしれません。

では参考までに、実際の面接問題を紹介したいと思います。

友人がAmazonのインタビューを受けました。その時に受けたSQLの質問を公開しているのでそれをもとに考えてみましょう。友人は友人なりに答えたようですが、私の方のがシンプルだと言われたのでそれも紹介します。

問題1:customerテーブルにはあるけれども、transテーブルにはないcustomer_idを見つけてください

回答1:多分すぐ想像されるのが、2つのテーブルをJoinしてから・・・だと思われます。その場合は

SELECT c.customer_id
FROM customer c
LEFT JOIN trans t
ON c.customer_id = t.customer_id
WHERE t.customer_IS NULL

回答2:私が聞いて最初に浮かんだ方法はこちらです

ここから先は

1,408字 / 2画像
この記事のみ ¥ 200
期間限定!Amazon Payで支払うと抽選で
Amazonギフトカード5,000円分が当たる

この記事が気に入ったらチップで応援してみませんか?