Aufgabenstellung: SQL-Kenntnisse
Zur Durchführung von mindestens fünf SQL-Abfragen beziehe ich mich auf die Lehrdatenbank Buchhandel, speziell auf den Kundenbereich.

1. Abfrage
Mittels folgender Abfrage sollen alle Kunden unserer Buchhandelsdatenbank angezeigt werden:

SELECT * FROM Kunde
Die Abfrage liefert kein eindeutiges Ergebnis, da sich zwar 999 Kunden in der Datenbank befinden (siehe 4. Abfrage), aber aufgrund eines automatisch festgelegten Limits von 500 möglich anzuzeigenden Kunden, nicht alle Kunden abgebildet werden können.


2. Abfrage
In einer weiteren Abfrage werden mehrere Auswahlmöglichkeiten miteinander kombiniert. Mit den folgenden Befehlen ist es möglich sich entweder alle Kunden, alle Verlage oder alle Bücher der Buchhandelsdatenbank anzeigen zu lassen:

SELECT * FROM Kunde
SELECT * FROM Verlag
SELECT * FROM Buch


3. Abfrage
Hinsichtlich der ersten Abfrage (Auswahl aller Kunden) soll dieser Befehl eine Hilfestellung zur leichteren Kundensuche, z.B. bezogen auf den Vornamen, ermöglichen:

SELECT * FROM Kunde
WHERE Vorname like '%Hier Vornamen einfügen%'


4. Abfrage
Als weiteren Schritt bzw. zur Verfeinerung der Ergebnisse liefert die nächste Abfrage die Anzahl der Kunden der einzelnen Bundesländer:

SELECT Region, COUNT(Kunde.Nr) AS "Kundenanzahl"
FROM PLZ, Kunde WHERE PLZ.Plz = Kunde.Plz
GROUP BY Region ORDER BY 2 desc

Wie aus dem Ergebnis ersichtlich ist, liegt Salzburg mit 160 Kunden an der Spitze der Datenbank. Das Schlusslicht bildet Vorarlberg mit insgesamt 49 Kunden.


5. Abfrage
Mit folgendem Befehl werden alle Kunden inklusive deren Kundennummern sowie Nachnamen, z.B. aus dem Bundesland Oberösterreich, dargestellt:

SELECT Kunde.Nr, Kunde.Vorname, Kunde.Nachname,
PLZ.Region FROM Kunde, PLZ
WHERE Kunde.Plz=PLZ.Plz AND Region='O'

Diese Abfrage liefert uns nun die genaue Aufstellung aller 137 Kunden aus Oberösterreich.


6. Abfrage
Zum Abschluss der Analyse des Buchhandels werden noch zwei Umsatzbezogene Abfragen wiedergegeben.

In der ersten dieser beiden Abfragen soll dargestellt werden, wer die Umsatzstärksten Kunden des Buchhandels sind:

SELECT Kundennummer, Vorname, Nachname, SUM
(Menge*Preis) AS Gesamtsumme FROM
Kunde,Auftrag,Auftragspos,Buch WHERE Kunde.Nr =
Auftrag.Kundennummer AND Auftrag.Nr =
Auftragsnummer AND Buchnummer = Buch.Nr
GROUP BY Kunde.Nr ORDER BY Gesamtsumme DESC

Wie aus dem Resultat ersichtlich ist, stellen Herr Kurt Erdl, Frau Vera Kremer sowie Frau Ruth Schmitz die Umsatzstärksten Kunden des Buchhandels dar.


7. Abfrage
Zu guter letzt soll dem Abfrager auch die Möglichkeit geboten werden, die Umastzstärksten Kunden, je nach Bundesland sortiert, z.B. für Burgenland, ermitteln zu können:

SELECT k.Nachname, k.Vorname, k.Nr, p.Region, SUM
(b.Preis*au.Menge)AS Gesamtumsatz FROM PLZ p,
Kunde k, Auftrag a, Auftragspos au, Buch b WHERE
p.Plz=k.Plz AND k.Nr=a.Kundennummer AND
a.Nr=au.Auftragsnummer AND au.Buchnummer=b.Nr
AND p.Region ="B" GROUP BY k.Nr ORDER BY 5 desc


Daniel.HELLEIS.Uni-Linz, 01. Apr 08
Anfrage senden (SQL)
Hallo Georg, sag wie hast die "Vergindung mit SQL" hinbekommen ... wär echt super wennst mas verraten könntest!

machen wir alles noch im Tutorium

Wie schon gesagt, das machen wir noch im Tutorium. Ich habe diesen Kurs zum Teil schon ein Mal gemacht und habe es von dort übernommen. Erklären kann ich das jetzt nicht so einfach, aber ich würde sagen du wartest einfach das Tutorium ab, wo wir dies behandeln werden. Lg

Daniel.HELLEIS.Uni-Linz, 02. Apr 08
Mah ungeduldige Studenten sind schon was schlimmes ... Danke!

Kein Problem - ich werd sonst mal schauen, was sich machen lässt. D.h., wenn ich einmal ne freie Minute hab, dann könnt ich dir was zusammenschreiben!
Lg