関係モデル
テーブル
Table
意味
行と名前付き列で構成される関係。
使用場面
エンティティ、イベント、参照データ、および分析結果を保存するために、テーブルを使用してください。
活用例
analytics.orders(order_id, customer_id, amount, ordered_at)データ分析
分析SQLで使用される、リレーショナル構造、キー、フィルタリング、結合、グループ化、集計、CTE、およびウィンドウ関数について学習します。
12 件
関係モデル
Table
行と名前付き列で構成される関係。
エンティティ、イベント、参照データ、および分析結果を保存するために、テーブルを使用してください。
analytics.orders(order_id, customer_id, amount, ordered_at)関係モデル
Row and column
1行は1つのレコードを表し、1列は定義された型を持つ1つの属性を表します。
クエリを実行する前に、各行の粒度と各列の意味を確認する。
One row = one order; amount = gross order value.関係モデル
Primary key
各テーブル行を一意に識別する列または列セット。
一意性を確保し、関連するレコードを確実に接続するために使用します。
PRIMARY KEY (order_id)関係モデル
Foreign key
別のテーブルのキーを参照する列または列セット。
関係を表現し、参照整合性を保護するために使用します。
orders.customer_id REFERENCES customers.customer_idクエリ
SELECT
データソースから列または計算式を取得するSQLステートメント。
分析の意図が明確になるように、必要な列のみをリストします。
SELECT order_id, amount FROM orders;クエリ
WHERE
グループ化および集計の前に、入力行をフィルタリングする句。
行レベルの日付、ステータス、地域、または品質条件に使用します。
WHERE ordered_at >= DATE '2026-01-01'クエリ
JOIN
複数のテーブルから行を結合し、一致する条件を使用する操作。
一致しない行を保持する必要があるかどうかによって、内部結合または外部結合を選択します。
意図しない行の多重化を避けるために、結合前にキーの一意性を確認します。
FROM orders o LEFT JOIN customers c ON c.customer_id = o.customer_id集計
GROUP BY
選択された値に基づいて行をグループ化し、集計を行う句。
データを日付、製品、地域、またはその他の次元で要約するために使用します。
`GROUP BY order_date, region`集計
Aggregate function
複数の入力行からサマリー値を生成する関数。
メトリックの定義に従って、COUNT、SUM、AVG、MIN、およびMAXを使用します。
SELECT region, SUM(amount) AS revenue FROM orders GROUP BY region;集計
HAVING
集計が計算された後にグループをフィルタリングする句。
ソース行ではなく、集計結果に基づく条件に使用します。
HAVING COUNT(*) >= 100高度な分析
Common table expression (CTE)
より大きなステートメントで使用するために、WITHで導入される名前付きの一時クエリ結果。
複数のステップからなる変換を整理し、読みやすくするために使用します。
WITH monthly_sales AS (...) SELECT * FROM monthly_sales;高度な分析
Window function
関連する行全体で計算を行いながら、個々の結果行を保持する関数。
順位、累積合計、移動平均、および前期間との比較に使用します。
SUM(amount) OVER (PARTITION BY customer_id ORDER BY ordered_at)