SQLは、初心者には分かりずらいでしょう。下記は、スムーズにSQL学習を進めるための幾つかの提案です。
練習!
プログラミングで良くあるように、練習に当てはめることが重要です。studybyyourself.com へ行って、エクササイズをしてみてください。そこで、説明した例についてもやり直すことが出来ます。(入力欄にSQLクエリーを入力するだけです。
データベーススキーマ
エクササイズ(練習)を開始する前に、データベーススキーマを良く理解していることを確認してください。 もし必要ならば、表[テーブル]にどんなデータが含まれているか想像してみてください。結合表といわれるものに特別の注意を払ってください。(例:関与)
表[テーブル]
エクササイズを解く前に全ての該当する表[テーブル]を検出してください。
結合[JOIN]
SQLコンセプトで最も重要な【結合】に関して十分に理解してることを確認してください。
サブグループ
原則として、説明していないDISTINCT
節は、使用すべきではありません。それを使用することは、サブグループは、十分では無いということを理解しているまたは、あなたが処理しているデータのデザインがうまく行われていないことを意味します。
WHERE vs. HAVING
HAVING
は、全体としてサブグループでの条件を設定するのに対して、WHERE
はレコードに対してのみです。
実行順[Execution order]
SQLによって実行される操作の順番に留意することはとても重要です。初めに、表は、1つの総合表を形成することによって結合されます。その表の後段のレコードの部分にのみ合う条件が選択されます。WHERE
. それらの残りのレコードを基に、サブグループは作成されます。(GROUP BY
) 最後に、それらのサブグループでの条件が確認されます。(HAVING)