it-praxisportal/courses/sql/11_common_table_expressions_cte
Alex Mueller 2571cb8847 feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide
- Dynamic Sidebar mit window.COURSES_MANIFEST für 13 Kurse (216 Kapitel)
- Kurswechsler Dropdown mit Direktnavigation
- Fortschrittsanzeige mit Solved-Checkmarks (✓) aus localStorage
- Responsive Off-Canvas Drawer mit Floating Action Button (☰ Kapitel) & Backdrop auf Mobile/Tablets
- Web-IDE Topbar Drawer-Button (☰ Kapitel) für unterbrechungsfreien Vollbild-Editor
- Saubere Bereinigung redundanter statischer Legacy-Sidebars
2026-09-12 13:49:46 +02:00
..
aufgabe.sql Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00
index.html feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide 2026-09-12 13:49:46 +02:00
musterloesung.sql Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00
README.md Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00
test_aufgabe.sql Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00

SQL 11: Common Table Expressions (WITH CTE) 🧱⛓️

Willkommen zu Modul 11 (Lehrpfad 3: Aggregationen, CTEs & Window Functions)! Common Table Expressions (CTEs) sind das Schweizer Taschenmesser für professionelle Data Engineers. Sie transformieren kryptische, tief verschachtelte SQL-Abfragen in saubere, lesbare und wartbare Datenpipelines.


🎯 Lernziele

  1. WITH-Klausel: Strukturierung von Abfragen in logische Teilabfragen.
  2. Gekettete (Chained) CTEs: Schrittweise Verarbeitung von Rohdaten über mehrere Zwischenstationen.
  3. Rekursive CTEs (WITH RECURSIVE): Iterative Traversierung hierarchischer Daten (Bäume, Organigramme, Stücklisten).
  4. Kalender-Generierung: Erzeugung lückenloser Datumsreihen ohne Hilfstabellen zur Vermeidung von Lücken im Reporting.

💡 Syntax & Struktur rekursiver CTEs

Eine rekursive CTE besteht immer aus drei Komponenten:

  1. Anker-Abfrage: Basisdatensatz (z.B. Wurzelknoten oder Startdatum).
  2. UNION ALL: Verbindet die Rekursionsrunden.
  3. Rekursive Abfrage: Verweist auf den Namen der CTE selbst und definiert die Abbruchbedingung (WHERE).
WITH RECURSIVE kalender(tag) AS (
    -- 1. Anker: Startdatum
    SELECT '2024-01-01'
    UNION ALL
    -- 2. Rekursion: +1 Tag bis zum Enddatum
    SELECT DATE(tag, '+1 day')
    FROM kalender
    WHERE tag < '2024-01-10'
)
SELECT tag FROM kalender;

🚀 Aufgabenstellung (aufgabe.sql)

  1. TODO 1: Einfache CTE & Kunden-Segmentierung – Berechne Vor-Aggregate in kunden_stats und klassifiziere Kunden via CASE WHEN im Haupt-SELECT.
  2. TODO 2: Multi-Step Finanzpipeline mit Chained CTEs – Baue eine Kette aus Monatsdaten und Benchmark-Werten.
  3. TODO 3: Rekursiver Datums-Generator – Generiere lückenlos alle Tage vom 01.03.2024 bis zum 07.03.2024.
  4. TODO 4: Rekursive Organisations-Hierarchie – Traverisiere das Mitarbeiter-Organigramm mit Berechnung von ebene und pfad.

🧪 Tests ausführen

Führe test_aufgabe.sql in der Web-IDE oder lokal per SQLite aus.