128 lines
2.0 KiB
Markdown
128 lines
2.0 KiB
Markdown
|
|
|
|
# Ü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 |