SQLの書き順と実行順序についてはじめに
私自身、データアナリストをしており業務でもよくSQLを使用しております。
SQL(Structured Query Language)は、リレーショナルデータベース管理システム(RDBMS)で使用される標準的なデータベースクエリ言語です。
SQLは書き順と実行順序が異なり、特に実行順序が特徴的なのでそのあたりをまとめてみたいと思います。
SQLの書き順
一般的なケースとして、書き順は以下の通りとなります。
- SELECT句
- クエリの目的に応じて、取得したい列や式をSELECT句で指定します。
- FROM句
- クエリを実行するためのテーブルやビューをFROM句で指定します。複数のテーブルを結合する場合は、結合の順序に注意して指定します。
- JOIN句
- 必要な場合、JOIN句を使用して複数のテーブルを結合します。結合条件を指定し、結合のタイプ(INNER JOIN、LEFT JOINなど)を選択します。
- WHERE句
- フィルタリング条件を指定するためにWHERE句を使用します。データの絞り込みや条件の設定を行います。
- GROUP BY句
- グループ化したい列を指定するためにGROUP BY句を使用します。集計関数を使用する場合、通常はGROUP BY句と併用します。
- HAVING句
- グループ化した結果に対するフィルタリング条件を指定するためにHAVING句を使用します。通常、集計関数を使用した条件を指定します。
- ORDER BY句
- 結果の並び替え順序を指定するためにORDER BY句を使用します。昇順または降順でソートする列を指定します。
- LIMIT句(オプション)
- 結果セットの制限を設定するためにLIMIT句を使用します。取得する行数を指定します。
個人的には、WHERE と JOIN の順序がすぐわからなくなります。。
SQLの実行順序
次に実行順序についてです。
一般的には、下記の順序で実行されます。
実際の実行順序はデータベースエンジンによって最適化されることもあります。
- FROM句
- FROM句で指定されたテーブルまたはビューからデータを取得します。
- WHERE句
- WHERE句で指定された条件に基づいて、データをフィルタリングします。
- GROUP BY句
- GROUP BY句で指定された列を基準に、データをグループ化します。
- HAVING句
- HAVING句で指定された条件に基づいて、グループをフィルタリングします。
- SELECT句
- SELECT句で指定された列を取得します。集計関数を使用している場合、集計結果が計算されます。
- DISTINCT
- SELECT句で指定された列に対して、重複した値を削除します。
- ORDER BY句
- ORDER BY句で指定された列を基準に、データを並び替えます。
- LIMIT句
- LIMIT句で指定された件数だけ、結果を制限します。
「プログラムの環境構築からわからない、、」「データサイエンティストになるには?」など自己学習に不安がありましたら、以下のスクールのご活用をご検討ください!
SQL書き順と実行順序まとめ
このようにSQLでは書き順と実行順序が異なります。
無理にすべて覚えようとはせずに、書いていく中で自然に覚えていければよいのではないかと思います!
SQL関連記事
そのほかのSQLにまつわる情報はこちらにも記載しております。
>Coffee Tech Blog SQL関連記事
もしIT業界への転職でお困りでしたら、下記サービスのご活用をご検討ください!
私は転職の際にGeeklyを活用させて頂き、ご縁を頂くことができました。
参考になれば幸いです☕
コメント