【ITニュース解説】We counted 13,000 SQL answers from 99 learners. The hardest lesson was SELECT.
2026年10月27日に「Dev.to」が公開したITニュース「We counted 13,000 SQL answers from 99 learners. The hardest lesson was SELECT.」について初心者にもわかりやすく解説しています。
ITニュース概要
SQL学習コースの分析で、最も難しいレッスンはJOINではなくSELECTだと判明した。ビジネス要件を算術式に変換する部分でつまずく学習者が多く、最初のSELECTでの離脱も多い。SELECTをしっかり学び、複数日に分けて練習することが重要だ。JOINを恐れる必要はない。
ITニュース解説
無料のSQL学習コース「SQLMaxx Learn」は、99人の学習者から集まった13,105件の解答データを分析し、SQL学習における意外な難所を明らかにした。この分析は、2026年8月19日から10月25日の期間に収集されたデータに基づいている。多くのSQL学習教材が「JOIN」の難しさを警告する中で、「SQLMaxx Learn」のデータからは、むしろ「SELECT」句こそが最も難しいレッスンであることが示された。
分析対象となった学習者全体の正答率は80%、初回試行時の正答率は85%だった。しかし、「SELECT」のレッスンでは、正答率が58%と全体平均を大きく下回り、初回試行時の正答率も70%にとどまった。この結果は、多くの学習者がSQLの最初のステップである「SELECT」で苦戦している実態を示している。
「SELECT」が難しい理由として、記事ではSQLのキーワードそのものよりも、算術演算とビジネス要件を正確な式に変換する能力が問題であったと推測している。例えば、「120ドルの商品が25%オフになった際の割引額と販売価格を求める」問題では、73人の学習者が挑戦し、240件の解答のうち134件が間違っていた。また、「3,600ドルの請求書から400ドルのリベートを先に引き、その残りに5%の手数料を加算する」という問題では、60人の学習者が挑戦し、210件の解答のうち123件が間違っていた。後者の問題は特に括弧の使い方が重要で、括弧がないと計算の順序が変わり、意図しない結果になってしまう。例えば、「(3600 - 400) * 1.05」と「3600 - 400 * 1.05」では結果が異なる。システム側では学習者が入力した具体的なSQLは見えないため、正確な間違いは特定できないが、ビジネス上の指示を正確な算術式に変換する段階で、多くの学習者がつまずいていると分析されている。
一方で、多くの初心者が苦手意識を持つ「JOIN」については、異なる結果が出ている。例えば、「INNER JOIN」の初回試行時正答率は87%、「LEFT JOIN」は88%、「Self join」は88%、「Joins across several tables」は90%と、非常に高い数値を示した。しかし、これらの数字には注意が必要だ。JOINのレッスンまでたどり着いた学習者は99人中26人のみであり、これらの学習者は既に16レッスン分の練習を積んでいる。つまり、十分な基礎練習を積んだ後にJOINを学ぶ場合、それほど難しくはないという解釈ができる。JOINが「最初から簡単」なのではなく、「基礎ができていれば難しくない」というのが実態に近いだろう。
学習の継続性についても興味深いデータがある。レッスン1(SELECT)からレッスン2(FROM)へ進んだ学習者は、99人中71人だった。つまり28人の学習者が最初のレッスンで学習を中断してしまったことになる。レッスン1の低い正答率と、この高い離脱率に関連性がある可能性が指摘されている。多くの学習者は複数日にわたって学習を進めており、中央値では学習者は異なる2日間で67件の解答を送っていた。また、学習者の56%が2日目以降も学習を継続していた。
学習者は提供されている「解答(worked solution)」を積極的に活用していることもわかった。解答は合計3,835回開かれており、これは3〜4回の解答につき1回程度解答が参照されている計算になる。記事では、解答を参照して理解を深め、次の問題に取り組むという学習スタイルは効果的だと評価している。
この分析結果を踏まえ、これからSQL学習を始める人へいくつかのアドバイスが送られている。 まず、「SELECT」レッスンにおける算術演算を軽視しないこと。ビジネス上の指示をまず言葉で計算式に書き出し、次に正確な算術式に変換する練習をすることが重要だ。特に計算の順序が変わる場合に備え、括弧を適切に使うことを意識する。 次に、問題が求めるカラムの順序を守ること。多くのSQLコースと同様に、この「SQLMaxx Learn」でもカラムは位置でチェックされるため、出力順序が間違っていると不正解になる場合がある。 そして、学習は複数日に分けて行うこと。短時間のセッションを異なる日に複数回行う方が、一度に長時間学習するよりも効果的だとされている。 最後に、「JOIN」を過度に恐れないこと。まずは「SELECT」「WHERE」「GROUP BY」といった基本的な句をしっかりと習得することに集中すれば、JOINはその知識の延長線上で理解できる、決して乗り越えられない壁ではない。
これらのデータとアドバイスは、システムエンジニアを目指す初心者がSQL学習を始める際に、どこに重点を置き、どのような点に注意すればよいかを示す貴重な指針となるだろう。