Aufgabe 13 - SQL Mengenoperationen (E-Sports Edition)
Aufgabe 13 - SQL Mengenoperationen (E-Sports Edition)
Abschnitt betitelt „Aufgabe 13 - SQL Mengenoperationen (E-Sports Edition)“Worum geht es?
Abschnitt betitelt „Worum geht es?“In dieser Übung kombinieren Sie Ergebnismengen mehrerer Abfragen mit den Mengenoperatoren UNION, INTERSECT und EXCEPT - ganz ohne komplexe Joins (siehe Kapitel 5 - SQL-Grundlagen).
In dieser Übung üben Sie:
- Verknüpfen: Ergebnismengen mit
UNIONundUNION ALLzusammenführen. - Identifizieren: Schnittmengen mit
INTERSECTbestimmen. - Ausschließen: Datensätze mit
EXCEPTherausfiltern. - Verstehen: die Voraussetzungen für Mengenoperationen (gleiche Spaltenanzahl und passende Datentypen) erfassen.
Szenario: E-Sports Datenanalyse
Abschnitt betitelt „Szenario: E-Sports Datenanalyse“Ein Analyst möchte verschiedene Listen aus dem E-Sports-System kombinieren, um Trends in Regionen und Team-Aktivitäten zu erkennen, ohne dabei komplexe Joins zu verwenden.
Tabellen-Schema & Testdaten
Abschnitt betitelt „Tabellen-Schema & Testdaten“CREATE TABLE teams ( team_id INT PRIMARY KEY, team_name VARCHAR(50), region VARCHAR(30), rank INTEGER);
CREATE TABLE matches ( match_id SERIAL PRIMARY KEY, team_id INTEGER, game VARCHAR(50), kills INTEGER);
INSERT INTO teams VALUES(1, 'Cyber Vipers', 'Europe', 1),(2, 'Neon Samurais', 'Asia', 5),(3, 'Arctic Foxes', 'North America', 12),(4, 'Desert Rats', 'Africa', 20);
INSERT INTO matches (team_id, game, kills) VALUES(1, 'League of Legends', 25),(1, 'Valorant', 40),(2, 'Counter-Strike', 15),(2, 'League of Legends', 10),(99, 'Dota 2', 50);Tipp: Sie können dynamisch Zeilen erzeugen, indem Sie z. B. mit
SELECT 'Counter-Strike' AS gameein fiktives Spiel als einzeilige Ergebnismenge erstellen.
Arbeitsaufträge (SQL-Abfragen)
Abschnitt betitelt „Arbeitsaufträge (SQL-Abfragen)“Teil A: Vereinigung (UNION)
Abschnitt betitelt „Teil A: Vereinigung (UNION)“- Globale Regionen: Erstellen Sie eine Liste aller Regionen aus der Tabelle
teams. Fügen Sie per Mengenoperation die fiktiven Regionen'South America'und'Oceania'hinzu. - Einfache ID-Liste: Erstellen Sie eine Liste aller IDs, die im System vorkommen (Kombinieren Sie
team_idausteamsundteam_idausmatches). - UNION vs. UNION ALL:
- Führen Sie die Abfrage aus Aufgabe 2 einmal mit
UNIONund einmal mitUNION ALLaus. - Erklären Sie den Unterschied im Ergebnis (insbesondere im Hinblick auf Team ID 1 und 2).
- Führen Sie die Abfrage aus Aufgabe 2 einmal mit
Teil B: Schnittmenge (INTERSECT)
Abschnitt betitelt „Teil B: Schnittmenge (INTERSECT)“- Aktive Teams: Finden Sie alle
team_ids heraus, die sowohl in der Tabelleteamsals auch in der Tabellematchesexistieren. - Top-Regionen Check: Angenommen, wir definieren “Top-Regionen” als jene, in denen Teams mit einem Rank < 10 spielen. Erstellen Sie eine Liste dieser Regionen und zeigen Sie nur jene an, die AUCH in einer fiktiven Liste von
'Europe','Asia'und'Antarctica'enthalten sind.
Teil C: Differenz (EXCEPT)
Abschnitt betitelt „Teil C: Differenz (EXCEPT)“- Inaktive Teams: Identifizieren Sie die
team_ids der Teams, die in der Tabelleteamsstehen, aber keinen Eintrag in der Tabellematcheshaben. - Regions-Filter: Listen Sie alle Regionen aus der Tabelle
teamsauf, außer jener Region, in der das Team ‘Arctic Foxes’ beheimatet ist. - Daten-Leichen: Finden Sie alle
team_ids, die in der Tabellematchesvorkommen, aber nicht in der offiziellenteamsTabelle geführt werden (verwaiste Datensätze).
Abgabe & Kriterien
Abschnitt betitelt „Abgabe & Kriterien“- Abgabe der Datei
aufgabe13_mengen.sql. - Alle Befehle müssen fehlerfrei ausführbar sein.
- Konsistente Nutzung von Großbuchstaben für SQL-Keywords.
Wissens-Check
Abschnitt betitelt „Wissens-Check“- Frage 1: Warum würde der Befehl
SELECT team_name FROM teams UNION SELECT kills FROM matchesfehlschlagen? - Frage 2: Welcher Mengenoperator entspricht logisch einer “UND”-Verknüpfung zwischen zwei Abfrageergebnissen?
- Frage 3: Worin unterscheiden sich
UNIONundUNION ALLim Ergebnis und in der Performance?
HTL Villach, Schuljahr 2025-2026,
https://www.htl-villach.at