Heute dreht sich alles um SQL-Abfragen mit JOINS
Aufgaben
Probiere weitere Abfragen aus. Der SQL Spickzettel hilft dir dabei.
Zeigt an, wie viele Lieferanten aus unterschiedlichen Ländern Produkte liefern.
17 Länder
Mögliche Lösung:
Zeigt an, wie viele Lieferanten aus einer Stadt kommen, die mit "B" oder "b" beginnt und die Produkte liefern.
8 Lieferanten
Bei Like wird Groß- und Kleinschreibung nicht
berücksichtigt
www.appcamps.de
SELECT COUNT (DISTINCT Suppliers.Country) FROM Products JOIN Suppliers ON Products.supplierid = Suppliers.supplierid
SELECT COUNT (*) FROM Products JOIN Suppliers ON Products.supplierid = Suppliers.supplierid WHERE Suppliers.city LIKE 'B%'
SELECT COUNT (*) FROM Products JOIN Suppliers ON Products.supplierid = Suppliers.supplierid WHERE Suppliers.city LIKE 'b%'
Aufgaben
Probiere weitere Abfragen aus. Der SQL Spickzettel hilft dir dabei.
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
SELECT Products.productname, Categories.categoryname, Categories.description FROM Products JOIN Categories ON Products.categoryid = Categories.categoryid
Aufgaben
Auf der nächsten Seite findest du mögliche Antworten. Überlege aber zuerst selbst, bevor du weiter klickst.
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:
Zeigt alle MitarbeiterInnen, deren Vorname mit "M" beginnt und die mehr als 10 Bestellungen verwalten.
www.appcamps.de
SELECT COUNT (Orders.orderid), Shippers.shippername FROM Orders JOIN Shippers ON Orders.shipperid = Shippers.shipperid
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
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