Übungen Datenbanken - Daten abfragen analog
Aufgabe 1: Abfahrtssiege
In dieser Aufgabe verwenden wir die Tabelle Abfahrtssiege, in der einige Daten von AbfahrerInnen abgebildet sind. Das Attribut "Siege" gibt an, wie viele Abfahrten der Fahrer / die Fahrerin im Winter 2016 gewann.
Tabelle: Abfahrtssiege
| Name | Land | Skimarke | Siege |
|---|---|---|---|
| Christine Scheyer | AUT | Head | 1 |
| Ilka Stuhec | SLO | Stöckli | 5 |
| Lara Gut | SUI | Head | 1 |
| Lindsey Vonn | USA | Head | 1 |
| Sofia Goggia | ITA | Atomic | 1 |
| Beat Feuz | SUI | Head | 1 |
| Bostjan Kline | SLO | Stöckli | 1 |
| Dominik Paris | ITA | Nordica | 2 |
| Hannes Reichelt | AUT | Salomon | 1 |
| Kjetil Jansrud | NOR | Head | 2 |
| Max Franz | AUT | Atomic | 1 |
| Travis Ganong | USA | Atomic | 1 |
Teil A: Was ist das Ergebnis?
Gib jeweils die Werte an, welche durch die angegebene SQL-Abfrage ausgegeben wird:
SELECT Name, Land FROM Abfahrtssiege WHERE Siege > 1 ORDER BY NameSELECT Name, Land FROM Abfahrtssiege WHERE Land IN ('SUI', 'NOR') ORDER BY LandSELECT SUM(Siege) AS Anzahl FROM AbfahrtssiegeSELECT AVG(Siege) AS Zahl FROM Abfahrtssiege
Teil B: Schreiben Sie die SQL-Abfrage
Gib den SQL-Code an, der das Gewünschte liefert:
Eine Liste der Namen der FahrerInnen, welche aus der Schweiz (SUI) sind oder zumindest einen Schweizer Ski (Stöckli) fahren.
Die Anzahl Siege von "Stöckli" (Spaltenüberschrift "Stoecklisiege").
Eine Liste der Namen der FahrerInnen, welche aus Italien sind und mindestens 2 Rennen gewannen.
Eine alphabetisch rückwärts sortierte Liste der vorkommenden Länder (jedes Land nur 1 Mal).
Die Anzahl Siege slowenischer FahrerInnen (Spaltenüberschrift "SLOSiege").
Aufgabe 2: Desserts
In dieser Aufgabe verwenden wir die Tabelle Desserts, in der die Zutaten einiger (sehr einfacher) Desserts abgebildet sind.
- Das Attribut "Name" gibt an, um welches Dessert es sich handelt.
- Das Attribut "Menge" gibt an, wie viele Gramm von der entsprechenden Zutat verwendet werden.
Tabelle: Desserts
| Name | Zutat | Menge |
|---|---|---|
| Romanoff | Erdbeeren | 100 |
| Romanoff | Vanilleglace | 80 |
| Romanoff | Pistazienkerne | 5 |
| Romanoff | Rahm | 20 |
| Romanoff | Trauben | 10 |
| A Deux | Erdbeeren | 150 |
| A Deux | Vanilleglace | 100 |
| A Deux | Schokoladenglace | 100 |
| A Deux | Pistazienglace | 50 |
| A Deux | Rahm | 100 |
| Fitness | Trauben | 50 |
| Fitness | Erdbeeren | 80 |
| Fitness | Pistazienkerne | 5 |
| Fitness | Mandeln | 5 |
| Fitness | Trauben | 30 |
| Pistazia | Pistazienglace | 100 |
| Pistazia | Pistazienkerne | 20 |
| Pistazia | Rahm | 20 |
Teil A: Was ist das Ergebnis?
Gib jeweils die Werte an, welche durch die angegebene SQL-Abfrage ausgegeben wird:
SELECT Name, Zutat FROM Desserts WHERE Menge < 15 ORDER BY NameSELECT AVG(Menge) AS Beeren FROM Desserts WHERE Zutat = 'Erdbeeren'SELECT SUM(Menge) AS Trauben FROM Desserts WHERE Zutat = 'Trauben'SELECT DISTINCT Name FROM Desserts WHERE Menge < 10 OR Menge > 100
Teil B: Schreiben Sie die SQL-Abfrage
Gib jeweils den SQL-Code an, der das Gewünschte liefert:
Eine Liste der Namen aller Desserts, bei denen mindestens eine Glace drin ist.
Das Gesamtgewicht des Coupe "A Deux" (Spaltenüberschrift "GewichtADeux").
Eine Liste aller Zutaten die Pistazien enthalten.
Aufgabe 1
Teil A:
| Name | Land |
|---|---|
| Dominik Paris | ITA |
| Ilka Stuhec | SLO |
| Kjetil Jansrud | NOR |
| Name | Land |
|---|---|
| Kjetil Jansrud | NOR |
| Lara Gut | SUI |
| Beat Feuz | SUI |
| Anzahl |
|---|
| 18 |
| Zahl |
|---|
| 1.5 |
| Land |
|---|
| SLO |
| SUI |
Teil B:
SELECT Name FROM Abfahrtssiege WHERE Skimarke = 'Stöckli' OR Land = 'SUI'SELECT DISTINCT Skimarke FROM Abfahrtssiege ORDER BY SkimarkeSELECT SUM(Siege) AS Stoecklisiege FROM Abfahrtssiege WHERE Skimarke = 'Stöckli'SELECT Name FROM Abfahrtssiege WHERE Siege > 1 AND Land = 'ITA'SELECT SUM(Siege) AS SLOSiege FROM Abfahrtssiege WHERE Land = 'SLO'
Aufgabe 2
Teil A:
| Name | Zutat |
|---|---|
| Fitness | Pistazienkerne |
| Fitness | Mandeln |
| Romanoff | Pistazienkerne |
| Beeren |
|---|
| 110 |
| Trauben |
|---|
| 90 |
| Name |
|---|
| A Deux |
| Fitness |
| Romanoff |
Teil B:
SELECT DISTINCT Name FROM Desserts WHERE Zutat LIKE '%glace'SELECT SUM(Menge) AS GewichtADeux FROM Desserts WHERE Name = 'A Deux'SELECT DISTINCT Zutat FROM Desserts WHERE Zutat LIKE 'Pistazien%'