Unter w3schools.com findet man ein sehr ausführliches SQL-Tutorial. Zusätzlich gibt es eine recht umfangreiche Datenbank, an der direkt Abfragen getestet werden können: Abfrageseite.

Customers (CustomerID, CustomerName, ContactName, Address, City, PostalCode, Country)
Categories (CategoryID, CategoryName, Description)
Employees (EmployeeID, LastName, FirstName, BirthDate, Photo, Notes)
OrderDetails (OrderDetailID, OrderID, ProductID, Quantity)
Orders (OrderID, CustomerID, EmployeeID, OrderDate, ShipperID)
Products (ProductID, ProductName, ^SupplierID, CategoryID, Unit, Price)
Shippers (ShipperID, ShipperName, Phone)
Suppliers (SupplierID, SupplierName, ContactName, Address, City, PostalCode, Country, Phone)

Die folgenden Abfragen beziehen sich auf die Datenbank bei w3schools (und sind im Unterricht entstanden).

Aufgabe 1

  1. Gib CustomerName, ContactName und Country aller Kunden aus UK aus.
  2. Gib alle Felder von Customers aus, die als Country France oder Spain haben.
  3. Gib City und Country aus und zwar alphabetisch sortiert nach City.
  4. Gib die Employees rückwärts sortiert aus (Nachname).
  5. Gib alle Employees aus, deren EmployeeID zwischen 1 und 4 ist. 
  6. Gib Lieferantenname, Ort und Land aus, von allen Lieferanten, deren Land mit U startet.
  7. Gib alle Produkte aus, deren Preis kleiner als 50 and größer als 20 ist.
  8. Wähle alle Kategorien mit Kategorie ID 2, 4 oder 6 aus
  9. Alle ProduktIDs und Namen der Produkte, die zwischen 10$ und 30$ kosten.
  10. Ein Foto und das Geburtsdatum aller Mitarbeiter, deren Nachname mit K beginnt.
  11. Gib alle Produkte, die der Kategorie 4 und 2 angehören an.
  12. Gesucht sind alle Bestellungen, die im Juli 1996 eingegangen sind (OrderID, CustomerID und Date; neueste zuerst)‏
  13. Gib alle Suppliers aus Frankreich aus.
  14. Alle Produkte, die der Kategorie 2 angehören oder mehr als 10$ kosten.

Aufgabe 2

  • Aggregatfunktionen
    1. Wie oft wurde das Produkt mit der ID 51 bestellt ?
    2. Was ist der Durchschnittspreis aller Produkte der Kategorie 2?
    3. Wie viele verschiedene Artikel kann man bestellen? 
    4. Was ist der Durchschnittspreis aller Artikel der Kategorie „Seafood“(8)?
    5. Wie viele Kunden leben in Spain?
    6. Wie viel wurde bei Order 10255 bestellt?
  • GROUP BY
    1. Wie viele Produkte hat die Kategorie „Beverages“ (ID =1)?
    2. Wie viele Kunden leben jeweils im Gleichen Land?
    3. Wie viele Produkte werden vom Zusteller „New Orleans Cajun Delights“ (2) geliefert?
    4. Wie viele Produkte haben den gleichen Preis ?
    5. Wie viele Kunden wohnen jeweils in der gleichen Stadt?
  • HAVING
    1. Welche Kunden haben bereits mehr als 5 Bestellungen getätigt?
    2. In welchen Ländern sitzt nur ein Kunde?
    3. Welcher Supplier hat schon mehr als 4 Produkte registriert?
    4. Zu welchem Land gibt es mehr als 2 Kunden?
    5. Wie viele Produkte werden von Zusteller „Tokyo Traders“(4) geliefert und sind teurer als 20$?
    6. An welchen Tagen wurden mehrere Angestellte geboren?
    7. Welche Produkte sind Teil von weniger als 10 Bestellungen?
    8. Wie viele Produkte haben einen Preis unter 10$?

Aufgabe 3

  1. Wie viele Lieferanten liefern aus unterschiedlichen Städten Produkte.
  2. Zeige den Lieferantennamen, die Stadt aus der der Lieferant kommt und den Produktnamen an, wenn die Lieferantenstadt nicht mit L beginnt.
  3. Zeige den Produktnamen und die Kategorie für alle Produkte mit einem Preis zwischen 20 und 30 an.
  4. Gibt den Produktnamen, den Kategorienamen und den Preis für das Produkt mit dem höchsten Preis aus.
  5. Wie viele Bestellungen hat jeder einzelne Spediteur?
  6. Zeige alle Mitarbeiter, die mehr als 10 Bestellungen verwalten.
  7. Zeige den Namen (Customers) und die bestellten Produkte an; incl. der Customers ohne Bestellung.
  8. Erweiterung zu g: auch nicht bestellte Produkte gesucht (w3scholls.com verarbeitet kein RIGHT JOIN und FULL JOIN … J)
  9. Welcher Kunde wurde bereits von welchem Shipper beliefert?
  10. Welche Kunden und welche Supplier kommen aus der gleichen Stadt?
  11. Welche Employees haben an ihrem Geburtstag eine Bestellung bearbeitet?
  12. Wie viele Produkte hat jede Kategorie (Name)?
  13. Die Beschreibung für die Kategorie aller bestellten Produkte, inkl. der nicht bestellten Produkte, Produktname.
  14. Die Fotos aller Angestellten, welche Produkte mit einem Preis von über 500€ verwaltet haben.
  15. Gib die Summer des Preises aller Bestellungen an.
  16. Die durchschnittlichen Preise der Produkte einer Kategorie.

Aufgabe 4

Unterabfragen … (manchmal auch anders möglich) … Lösungen

  1. Welches Produkt ist günstiger als alle Getränke?
  2. Gibt es Bestellungen, die genauso viel kosten wie (andere) Einzelprodukte?
  3. Gib alle Bestellungen aus, die von dem jüngsten Mitarbeiter bearbeitet wurden.
  4. Gib alle Supplier in der Stadt aus, die von den dritt-meisten Kunden bewohnt wird.
  5. Mit welchem Lieferanten wurden die Bestellungen vom Kunden mit der Customer_ID 17 geliefert?
  6. Wie heißt der Mitarbeiter, welcher für die Bestellung mit der OrderID=10381 zuständig war und was sind seine Qualifikationen (Notes)?
  7. Welches ist das teuerste Produkt eines Zulieferers?
  8. Wie viele Produkte liefert der Zulieferer XY?
  9. Geben Sie die Bestellnummer (OrderID) und die Bestellmenge (Quantity) aller Bestellungen aus, bei denen die Bestellmenge eines Artikels über dem Durchschnitt liegt.
  10. Geben Sie jeweils den Preis des teuersten Produktes aus, welches ein bestimmter Lieferant (Supplier) liefert. Zum Lieferant sollen zusätzlich der Name und die Stadt angegeben werden.
  11. Gesucht sind alle Kunden, die in der gleichen Stadt wohnen, wie die Supplier mit drei aufeinander folgenden Fünfen in der Telefonnummer.
  12. Gesucht sind alle Produkte, bei denen der Supplier in der gleichen Stadt wohnt wie ein Kunde.
  13. Gibt es einen Customer der den gleichen Namen wie ein Supplier hat?
  14. Wie viele Produkte liefert der Supplier mit dem Namen ‚Aux joyeux ecclésiastiques‘?
Schlagwörter: