SQL: Übungsaufgaben zu „SELECT DISTINCT“
Aufgabe 1: Einzigartige Geburtsorte
Die Tabelle „Personen“ enthält Informationen über den Geburtsort jeder Person in der Spalte „Geburtsort“. Der Veranstalter einer Messe zu historischen Persönlichkeiten möchte die Namen der Geburtsorte auf einer Leinwand projizieren. Außerdem will er als Überschrift das Motto „100 historische Persönlichkeiten aus nur X Städten“ als Überschrift nehmen.
Anforderungen:
- Gib jeden Geburtsort einmal aus und sortiere diese absteigend nach dem Alphabet.
- Zähle anschließend die unterschiedlichen Geburtsorte und speichere das Ergebnis unter Geburtsorte.
- Schreibe zu jedem SQL-Befehl einen kurzen Kommentar.
Hinweise:
- Der erste Ort ist „Zundert“, der letzte Ort „Null“ sein.
- Es sind 66 unterschiedliche Ortsnamen.
-- SQL-Abfrage
-- Abfrage alle Geburtsorte, absteigend sortiert
SELECT DISTINCT Geburtsort
FROM Personen ORDER BY Geburtsort DESC;
-- Anzahl der unterschiedlichen Geburtsorte ermitteln
SELECT count(DISTINCT Geburtsort) AS Geburtsorte
FROM Personen;
Aufgabe 2: Kombination aus Vor- und Nachnamen
In den Spalten „Vorname“ und „Nachname“ sind die Namen der Persönlichkeiten gespeichert. Ein Schulpraktikant aus einem Berliner Gymnasium hat die Tabelle gepflegt. Dabei wurde zufällig durch einen Mitarbeiter festgestellt, dass ein Eintrag doppelt vorkam. Nun soll geprüft werden, ob es weitere doppelte Einträge gibt.
Anforderungen:
- Finde alle einzigartigen Kombinationen von Vor- und Nachnamen, aufsteigend nach Vorname und Nachname sortiert.
- Zähle anschließend die unterschiedlichen Namenskombinationen und speichere das Ergebnis unter Einzigartige.
- Schreibe zu jedem SQL-Befehl einen kurzen Kommentar.
Hinweise:
- Als erster Name wird „Sokrates“ und als letzter Name „Wolfgang Mozart“ angezeigt.
- Es sind 74 unterschiedliche Namenskombinationen.
-- SQL-Abfrage
-- Abfrage alle Namen, aufsteigend nach Vor-und Nachname sortiert
SELECT DISTINCT Vorname, Nachname
FROM Personen ORDER BY Vorname, Nachname DESC;
-- Anzahl der unterschiedlichen Namenskombinationen ermitteln
SELECT count(DISTINCT Vorname, Nachname) AS Einzigartige
FROM Personen;
Aufgabe 3: Verschiedene letzte Wohnorte
Die Spalte „Letzter_Wohnort“ zeigt den Ort, an dem die Personen zuletzt gelebt haben. Für die Historiker auf der Messe wird es interessant sein, wohin sich die großen Persönlichkeiten in den letzten Jahren ihres Lebens zurückgezogen haben.
Liste alle Städte auf, die mindestens einmal als letzter Wohnort vorkommen.
Lösung:
SELECT DISTINCT Letzter_Wohnort
FROM personen;
Aufgabe 4: Einzigartige Kombinationen von Geschlecht und zuletzt erfasstem Jahr
Die Tabelle enthält in der Spalte „Geschlecht“ Informationen über das Geschlecht der Personen (1 = männlich, 0 = weiblich). Außerdem zeigt die Spalte „Erfasst_am“ das genaue Datum der Erfassung. Schreibe eine Abfrage, um alle einzigartigen Kombinationen aus Geschlecht und dem Jahr der Erfassung aufzulisten.
Anforderungen:
Hinweise:
- Es werden drei Ergebnisse sein
SELECT DISTINCT Geschlecht, YEAR(Erfasst_am) AS Erfassungsjahr
FROM personen;
Aufgabe 5: Geburtsjahre
Die Tabelle enthält in „Geburtsdatum“ die Daten, an denen die Personen geboren wurden. Ermittle alle unterschiedlichen Geburtsjahre, in denen Personen aus der Tabelle geboren wurden.
Lösung:
SELECT DISTINCT YEAR(Geburtsdatum) AS Geburtsjahr
FROM personen;