• システム開発に関わる内容をざっくりと書いていく

SQL句実行順序

SQLの実行順序は、クエリが効率的に評価され、正確な結果を返すための基本的な流れを理解する上で重要。以下の順番でSQLクエリは実行される。

  1. FROM: データソースを決定。
  2. WHERE: 条件に基づいてフィルタリング。
  3. GROUP BY: データのグループ化。
  4. HAVING: グループ化後のフィルタリング。
  5. SELECT: 表示する列を選択。
  6. UNION: 複数のクエリ結果を結合。
  7. ORDER BY: 結果を並べ替え。
  8. DISTINCT: 重複する行を排除。

また、サブクエリや相関サブクエリを使用することで、さらに柔軟なデータ操作が可能になる。サブクエリは外側のクエリに依存せずに評価され、相関サブクエリは外側のクエリの各行に対して動的に評価される。

SQL句の詳細

1. FROM

FROM句は、SQLクエリで最初に実行されるステートメントで、クエリがどのテーブルやビューからデータを取得するかを決定します。また、複数のテーブルを結合する際にはJOINを使って関連するテーブルを結合します。

2. WHERE

WHERE句は、FROM句で取得したデータを特定の条件に基づいてフィルタリングします。このフィルタリングによって、特定の条件に一致する行のみが次の処理ステップに渡されます。

3. GROUP BY

GROUP BY句は、データを1つ以上の列に基づいてグループ化します。この句は通常、集計関数(例: COUNT()SUM()AVG()など)と共に使われ、グループ化されたデータに対して集計処理を行います。

4. HAVING

HAVING句は、GROUP BY句でグループ化されたデータに対してフィルタリングを行います。HAVINGは、WHERE句と似ていますが、HAVINGは集計関数を使ったフィルタリングをサポートします。

5. SELECT

SELECT句は、クエリの結果に含める列を指定します。この句は、クエリの出力を決定するもので、前のステップでフィルタリングやグループ化されたデータから表示する列を選択します。

6. UNION

UNION句は、2つ以上のクエリ結果を結合します。UNIONは重複する行を排除して結果を返しますが、UNION ALLを使うと重複も含めて結果を返します。

7. ORDER BY

ORDER BY句は、結果セットを指定した列で並べ替えます。デフォルトでは昇順(ASC)で並べ替えられますが、DESCを指定すると降順で並べ替えることもできます。

8. DISTINCT

DISTINCT句は、結果セット内の重複する行を排除し、一意の結果を返します。SELECT句の後に使用します。