Heute dreht sich alles um SQL-Abfragen mit JOINS
Aufgaben
Probiere weitere Abfragen aus. Der SQL Spickzettel hilft dir dabei.
SELECT COUNT(DISTINCT Suppliers.Country)
FROM Products
JOIN Suppliers
ON Products.SupplierID=Suppliers.SupplierID
Zeigt an, wie viele Lieferanten aus unterschiedlichen Ländern Produkte liefern.
17 Länder
Mögliche Lösung:
SELECT COUNT(*)
FROM Products
JOIN Suppliers
ON Products.SupplierID=Suppliers.SupplierID
WHERE Suppliers.City LIKE "B%"
#oder
SELECT COUNT(*)
FROM Products
JOIN Suppliers
ON Products.SupplierID=Suppliers.SupplierID
WHERE Suppliers.City LIKE "b%"
Zeigt an, wie viele Lieferanten aus einer Stadt kommen, die mit "B" beginnt und die Produkte liefern.
8 Lieferanten
Bei Like wird Groß- und Kleinschreibung nicht
berücksichtigt
www.appcamps.de
Aufgaben
Probiere weitere Abfragen aus. Der SQL Spickzettel hilft dir dabei.
SELECT Products.ProductName, Categories.CategoryName,
Categories.Description
FROM Products
JOIN Categories
ON Products.CategoryID=Categories.CategoryID
Erstellt eine Join zwischen den Tabellen Products und Categories.
Gibt den Produktnamen, den Kategorienamen und die Beschreibung der Kategorie aus.
Mögliche Lösung:
www.appcamps.de
Aufgaben
Auf der nächsten Seite findest du mögliche Antworten. Überlege aber zuerst selbst, bevor du weiter klickst.
SELECT COUNT(Orders.OrderID), Shippers.ShipperName FROM Orders
JOIN Shippers
ON Orders.ShipperID=Shippers.ShipperID
Ergibt nicht wirklich Sinn. Zeigt die Anzahl aller Bestellungen (31) und den ersten Spediteur (Speedy Express) in einer Zeile an. Der Leser bekommt den Eindruck, dass der Spediteur 31 Bestellungen betreut.
Mögliche Lösung:
SELECT Employees.LastName, COUNT(Orders.OrderID)
AS "Anzahl_Bestellungen" FROM Orders JOIN Employees
ON Orders.EmployeeID = Employees.EmployeeID
WHERE Employees.FirstName LIKE "m%"
GROUP BY Employees.LastName
HAVING COUNT("Anzahl Bestellungen") > 10
Zeigt alle MitarbeiterInnen, deren Vorname mit "M" beginnt und die mehr als 10 Bestellungen verwalten.
www.appcamps.de
Aufgaben
Mögliche Lösung:
Bei einem INNER JOIN zwischen Suppliers und Products besteht kein Unterschied, ob dieser von Products zu Suppliers oder andersherum erstellt wird. Wenn hingegen ein LEFT JOIN erstellt wird, macht es einen Unterschied.
Bei einem LEFT JOIN von Products zu Suppliers werden alle gewünschten Spalten aus der Produkte-Tabelle angezeigt, auch wenn es keinen Eintrag in der Suppliers-Tabelle gibt. Die Zelle in der Suppliers-Tabelle hat dann den Wert NULL.
Bei einem LEFT JOIN von Suppliers zu Products werden alle gewünschten Spalten aus der Suppliers-Tabelle angezeigt, auch wenn es keinen Eintrag in der Produkte-Tabelle gibt. Die Zelle in der Produkte-Tabelle hat dann den Wert NULL.
www.appcamps.de