# Übung (Basis: Tabelle Flugdaten) -> `datum.sql` ## A1 ### Aufgabenstellung Gib alle Flüge aus, die im Oktober 2025 starten. ### Lösung ```sql SELECT * FROM fluege WHERE MONTH(abflug) = 10 AND YEAR(abflug) = 2025 ``` ## A2 ### Aufgabenstellung Zeige das Datum und die Uhrzeit des Abflugs und der Ankunft getrennt an. ### Lösung ```sql SELECT -- Abflug DATE(abflug), TIME(abflug), -- Ankunft DATE(ankunft), TIME(ankunft) FROM fluege ``` ## A3 ### Aufgabenstellung Berechne die Flugdauer in hh:mm:ss für jeden Flug. (→TIMEDIFF) ### Lösung ```sql SELECT SEC_TO_TIME(TIMESTAMPDIFF(SECOND, abflug, ankunft)) AS Flugzeit FROM fluege ``` ## A4 ### Aufgabenstellung Berechne die Flugdauer in Minuten für jeden Flug. (→TIMEDIFF) ### Lösung ```sql SELECT TIMESTAMPDIFF(MINUTE, abflug, ankunft) AS Flugzeit FROM fluege ``` ## A5 ### Aufgabenstellung Zeige alle Flüge, die länger als 3 Stunden dauern ### Lösung ```sql SELECT * FROM fluege WHERE TIMESTAMPDIFF(HOUR, abflug, ankunft) > 3 ``` ## A6 ### Aufgabenstellung Formatiere das jeweilige Abflugdatum in folgendem Format: **07.10.2025 - 14:30 Uhr** ### Lösung ```sql SELECT DATE_FORMAT(abflug, '%d.%m.%Y - %H:%i Uhr') AS ablfug_formatiert FROM fluege ``` ## A7 ### Aufgabenstellung Ermittle die Anzahl der Flüge pro Monat ### Lösung ```sql SELECT MONTHNAME(abflug) AS Monatsname, COUNT(*) AS Anzahl_Fluege FROM fluege GROUP BY MONTH(abflug) ORDER BY MONTH(abflug); ``` ### Erklärung: mit `COUNT(*)` werden die Ergebnisse gezählt und nach dem Monat mit `GROUB BY MONTH(abflug)` gruppiert und mit `ORDER BY MONTH(abflug)` nach dem Monat sortiert ## A8 ### Aufgabenstellung Zeige alle Flüge, die am Wochenende abfliegen X ### Lösung ```sql SELECT * FROM fluege WHERE DAYOFWEEK(abflug) IN (7, 1); ``` ### Erklärung Es werden nur die Einträge angezeigt wo der Tag des Abflugs `7` oder `1` ist. > `7` -> Samstag > `1` -> Sonntag > > Da die Woche in USA am Sonntag startet und nicht am Montag