ChatGPTと進めるSQL練習

ChatGPTは優れた練習パートナーだった

SQLにおけるChatGPTの活用方法は、「クエリを書いてもらう」だけではない。

SQLは、たとえAIが出力してくれる時代になったとしても、正しいかどうかを自分で判断し、必要に応じて修正・最適化する力が依然として求められる。
今回、SQLを書く練習相手としてChatGPTを活用したところ、思った以上にスムーズかつ効果的に練習を進めることができた。業務で使う頻度が低く、理解が曖昧になりやすいパターンを重点的に練習するのに最適だった。

本記事では、実際に行った練習方法と工夫について紹介する。

SQL練習の進め方

1. テーマを決めて問題を出題してもらう

学びたいテーマを決め、ChatGPTに問題を出してもらう。
開始時はこんな感じでざっくり依頼してみた。

BigQuery でクエリをかく練習がしたいです。以下の条件で練習問題を作問してください。
なお、問題として使うデータはBigQueryの公開データを使ってください。
問題の冒頭には使用する公開データの概要を記するようにお願いします。

# 条件
- 練習したい内容:window関数(特にフレーム指定のあたり)
- 問題数:3問
- 難易度:中級
- 参照して欲しいサイト:
https://cloud.google.com/bigquery/docs/reference/standard-sql/window-function-calls
https://cloud.google.com/bigquery/docs/reference/standard-sql/navigation_functions

公開データを使用することで、練習用のデータを準備する必要がなくなるし、こちら(人間)が書いたクエリのレビューもしてもらうことができる。
参照して欲しいサイトは、BigQueryにない関数などを使い作問するのを防ぐ意図で公式ページを入れたが、なくてもうまくいくかもしれない。

2. 自分でSQLを書き、ChatGPTにレビューしてもらう

出題された問題に対して、自分でBigQueryのコンソール等でクエリを書き、完成したらChatGPTにレビューを依頼する。

正しい場合でも、より良い書き方や注意点を示してくれる。誤っている場合には、どの部分が誤りであるかを明示し、修正例と共に解説してくれるため、理解を深めながら進められる。

3. 理解を深めるための工夫

さらに学びを深めるために、以下のような工夫も効果的だった。

示されたクエリにツッコミを入れる

ChatGPTが提案するクエリに対し、「この条件は考慮しなくて大丈夫か」「NULLは考慮しているか」といった観点で質問を行うことで、改善例を提示してもらうことができた。
このプロセスは、レビューする際の視点を養うトレーニングにもなると感じた。

typoというよりDRYの観点で伝える方が適切だった

公式ドキュメントを活用して網羅的に練習する

公式ページを示し、練習漏れを防ぐのも良い方法だった。
たとえばBigQueryのウィンドウ関数のページを渡し、「この中でまだ練習していないパターンを洗い出してほしい」と依頼する。これにより、意識していなかった関数やパターンにも取り組むことができる。

自分でアレンジした問題を提案する

ChatGPTに出題してもらうだけでなく、自分で「こういう条件に変わったらどう修正することになるんだっけ」という場合も練習できる。

おわりに

ChatGPTなどの生成AIが普及した今、SQLクエリを書くという行為は以前よりも容易になった。
欲しいデータや条件を伝えれば、AIがそれらしいクエリを即座に出力してくれる。 しかし、AIが出力したSQLが正しいかどうかを判断する力、そして状況に応じて修正・最適化する力は依然として求められると考える(少なくとも今の時点では)。
ChatGPTを練習相手とすれば、自身のレベルに合わせた独自の練習問題に取り組むことが容易になった今、活用しない手はないなと感じた体験だった。

タイトルとURLをコピーしました