インタラクティブコース
SQLコース
ブラウザで実際に Postgres を実行しながら、SQL をゼロから英語で学習します。
01 · モジュール 1 — 基本的な SELECT
基礎: テーブルからのデータの読み取りとフィルタリング。
02 · モジュール 2 — より強力な SELECT
制限、重複排除、名前変更、カウント: 毎日使用するツール。
03 · モジュール 3 — JOIN と GROUP BY
複数のテーブルを結合し、グループごとにレポートを作成することは、実際のクエリの中心です。
04 · モジュール 4 — 実践的な SQL
実際の作業に違いをもたらすツール: リスト、範囲、NULL、条件付きロジック。
05 · モジュール 5 — 高度な JOIN
複数テーブルの JOIN、自己結合、OUTER、CROSS、集合演算: プロのようにデータを結合します。
06 · モジュール 6 — 組み込み関数
PostgreSQL ネイティブ関数 (文字列、日付、数値、型変換) を使用してデータを変換および操作します。
07 · モジュール 7 — 高度な分析
マルチステップ クエリ (CTE)、ランキングと累計 (ウィンドウ関数)、無制限の階層 (WITH RECURSIVE)。
08 · モジュール 8 — データの書き込みと変更
INSERT、UPDATE、DELETE、制約付きの CREATE TABLE、トランザクション: 書き込みによるループの終了。
09 · モジュール 9 — データ構造と DDL
テーブル、高度な制約、複雑なタイプとビューの作成と変更。
10 · 最適化とインデックス
クエリを高速化する技術: インデックス、実行プラン、データベースの最適化。
11 · トランザクションと同時実行性
ACID トランザクション、ロック、分離レベルなどの同時データ変更を安全に管理します。
- 11.1ACID トランザクション (BEGIN/COMMIT)BEGIN、COMMIT、ROLLBACK でデータの一貫性を保ち、クエリを他の人には見えない単一のブロックにグループ化します。~15 min
- 11.2競合状態エッジ シナリオ: 2 人の並列データベース従業員が同じユーザー カートを操作すると何が起こるか。~10 min
- 11.3ロックと更新のための選択読み取り中に行をアクティブにロックし、他の変更中のスレッドに順番を待機させます。~15 min
- 11.4分離レベルSerializable を実装して限界に挑戦するか、安全ではないが高速なパフォーマンスを得るために Read Committed に落とします。~12 min
12 · 関数とトリガー
データベース内のビジネス ロジックを自動化します。再利用可能な関数を作成し、トリガーでイベントに反応します。
- 12.1UDF とベース SQL独自のユーザー定義関数を作成して複雑な計算をカプセル化し、すべてのクエリでマクロのように再利用します。~15 min
- 12.2PL/pgSQL を使用した高度なロジック変数、if-else 分岐、データベース内の純粋な手続き型スタイルのループなど、関数にスーパーパワーを与えます。~15 min
- 12.3トリガーの概要OUTGOING (OLD) または INCOMING (NEW) レコードを即座に検査できる特別な関数を定義します。~15 min
- 12.4実践的なトリガーと監査安全性の自動化: 「updated_at」日付を自動更新し、コンプライアンスのために削除された行を魔法のようにアーカイブします。~12 min
13 · ウィンドウ関数
行を折りたたむことのない高度なデータ分析: OVER()、PARTITION BY、および分析関数を発見します。
14 · CTE と階層クエリ (WITH)
共通テーブル式を使用して巨大なクエリを簡素化し、再帰的 CTE を使用して無制限のデータ ツリーをナビゲートします。
15 · PostgreSQL JSON と NoSQL
外部データベースを使用せずに、JSON および JSONB を介した柔軟なドキュメント サポートと組み合わせたリレーショナル パワーを活用します。