Abfragen: Grundlagen » Aufgaben

Alle Aufgaben beziehen sich auf die Datenbanken fahrschule, onlineshop und lebensmittel und können mit dem SQL-Browser gelöst werden.

Datenbank: fahrschule

„Alle Informationen über alle Lehrer/innen“

Erwartetes Ergebnis:

SELECT *
FROM   fahrlehrer

„Alle Kürzel und Nachnamen aller Lehrer/innen“

Erwartetes Ergebnis:

SELECT kuerzel, nachname   -- Zwei Spalten projizieren
FROM   fahrlehrer

„Alle Informationen über den Lehrer/die Lehrer mit dem Kürzel 'Ba'“

Erwartetes Ergebnis:

SELECT *
FROM   fahrlehrer
WHERE  kuerzel = 'Ba'

„Alle Informationen über alle Lehrer/innen, deren Nachname mit 'Mu' beginnt“

Erwartetes Ergebnis:

SELECT *
FROM   fahrlehrer
WHERE  nachname LIKE 'Mu%'

„Die Vornamen, Nachnamen und Geburtstage jener Schüler/innen, die vor dem 1.1.2000 Geburtstag haben“

Erwartetes Ergebnis:

SELECT vorname, nachname, gebdatum
FROM   fahrschueler
WHERE  gebdatum < '2000-01-01'

„Die Vornamen, Nachnamen und das Fahrlehrerkürzel jener Schüler/innen, die den Fahrlehrer mit Kürzel 'Schm' oder 'Pet' haben“

Erwartetes Ergebnis:

SELECT vorname, nachname, fl_kuerzel
FROM   fahrschueler
WHERE  fl_kuerzel = 'Schm' OR
       fl_kuerzel = 'Pet'

Datenbank: onlineshop

„Die ISBN-Nummern, Titel und Preise jener Bücher, die dem Genre 'Fantasy' zugeordnet werden und weniger als 20€ kosten.“

Erwartetes Ergebnis:

SELECT isbn, titel, preis
FROM   buch
WHERE  genre = 'Fantasy' AND
       preis < 20

„Die ISBN-Nummern und Titel von Fantasybüchern unter 20€ sowie Thrillerbüchern unter 15€.“

Erwartetes Ergebnis:

SELECT isbn, titel, preis
FROM   buch
WHERE  (genre = 'Fantasy'  AND preis < 20) OR
       (genre = 'Thriller' AND preis < 15)

Datenbank: fahrschule

„Die Vornamen und Nachnamen jener Fahrschüler/innen, denen noch kein Fahrlehrer zugewiesen wurde“

Erwartetes Ergebnis:

SELECT vorname, nachname
FROM   fahrschueler
WHERE  fl_kuerzel IS NULL

„Alle Informationen über jene Fahrschüler/innen, die einen Fahrlehrer zugewiesen bekommen haben, aber noch keine Fahrstunden absolviert haben“

Erwartetes Ergebnis:

SELECT *
FROM   fahrschueler
WHERE  fl_kuerzel IS NOT NULL
  AND  anz_fahrstunden = 0

Datenbank: onlineshop

„ISBN, Titel und Preise aller Fantasy-Bücher, aufsteigend sortiert nach Preis“

Erwartetes Ergebnis:

SELECT   isbn, titel, preis
FROM     buch
ORDER BY preis

Datenbank: fahrschule

„Nachname, Vorname und die Fahrstundenanzahl aller Fahrschüler; sortiert werden soll absteigend nach der Fahrstundenanzahl sowie bei Gleichheit nach Nachname und Vorname“

Erwartetes Ergebnis:

SELECT   nachname, vorname, anz_fahrstunden
FROM     fahrschueler
ORDER BY anz_fahrstunden DESC, nachname, vorname

Datenbank: lebensmittel

„Name und Herkunft aller Obst- und Gemüsesorten“

Erwartetes Ergebnis:

SELECT name, herkunft FROM obst
UNION
SELECT name, herkunft FROM gemuese

„Länder, aus denen sowohl Obst als auch Gemüse bezogen wird“

Erwartetes Ergebnis:

SELECT herkunft FROM obst
INTERSECT
SELECT herkunft FROM gemuese

„Länder, aus denen Obst, jedoch kein Gemüse bezogen wird“

Erwartetes Ergebnis:

SELECT herkunft FROM obst
EXCEPT
SELECT herkunft FROM gemuese

Datenbank: fahrschule

„Vornamen, Nachnamen und Geburtsdaten aller Fahrschüler/innen, wobei die Geburtsdaten-Spalte mit 'geburtsdatum' betitelt sein soll“

Erwartetes Ergebnis:

SELECT vorname,
       nachname,
       gebdatum AS geburtsdatum
FROM   fahrschueler

Datenbank: lebensmittel

„Die Herkunftsländer aller Obstsorten“

Es soll kein Land doppelt genannt werden.

Erwartetes Ergebnis:

SELECT DISTINCT herkunft
FROM            obst

Datenbank: movies-small

„Die Namen aller Filme, die mit 'Harry Potter' beginnen“

Tipp: Verwende den Operator LIKE, indem du auf das Muster 'Harry Potter%' prüfst.

SELECT *
FROM   movies
WHERE  title LIKE 'Harry Potter%'