Montag, 3. November 2008
2. Aufgabe - SQL-Abfragen
Tja, also dies sind meine SQL-Abfragen - ich hab auch versucht die eine oder andere etwas zu verschachteln.. Ich hoffe die sind so ok. =) Vielleicht wollt ihr diese Abfragen mal versuchen. Einfach auf den "Ausführen"-Button klicken! Viel Spaß! ;)

1. Abfrage:

Ich möchte eine Liste mit allen meinen Kunden. Angegeben sollen der Nachname und der Vorname sein, wobei ein Vorname nur einmal vorkommen soll.
  • Die Abfrage sieht dann folgender Maßen aus:

    SELECT DISTINCT Kunde.Vorname, Kunde.Nachname
    FROM Kunde

  • 2. Abfrage:

    Welche Orte beginnend mit der Postleitzahl 4xxx befinden sich nicht in Oberösterreich?(Jaaa, solche gibts auch! =) )
    Die Abfrage sieht dann folgender Maßen aus:

    SELECT PLZ.Plz, PLZ.Ort, PLZ.Region
    FROM PLZ
    WHERE PLZ.Plz LIKE '4%' AND PLZ.Region NOT LIKE 'O'

    3. Abfrage:

    Interessant wäre eine Liste mit der Anzahl der Kunden je Region. Die Beschriftung soll folgendermaßen aussehen: „Bundesland“ und „Kundenanzahl“ (diese sollte absteigend sortiert sein, nach der Anzahl der Kunden)
    Die Abfrage sieht dann folgender Maßen aus:

    SELECT COUNT(Kunde.Nachname) AS Kundenanzahl, PLZ.Region AS Bundesland
    FROM Kunde, PLZ
    WHERE Kunde.Plz=PLZ.Plz
    GROUP BY PLZ.Region
    ORDER BY Kundenanzahl DESC

    4. Abfrage:

    Interessant wäre eine Liste mit der Anzahl der Kunden je Region. Die Beschriftung soll Ich möchte von einem einzelnen Kunden (bspw. vom Kunden "Venus")wissen wie viel er insgesamt ausgegeben hat.
    Die Abfrage sieht dann folgender Maßen aus:


    SELECT SUM(Auftragspos.Menge*Buch.Preis) AS Ausgaben
    FROM Kunde, Auftrag, Auftragspos, Buch
    WHERE Kunde.Nr=Auftrag.Kundennummer AND
    Auftragspos.Auftragsnummer=Auftrag.Nr AND
    Auftragspos.Buchnummer=Buch.Nr AND
    Kunde.Nachname = 'Venus'
    ORDER BY Nachname

    5. Abfrage:

    Von welchen Verlagen vertreibe ich mehr als 10 Titel? Genau wissen möchte ich den Namen des Verlages und die Anzahl der Titel!
    Die Abfrage sieht dann folgender Maßen aus:


    SELECT COUNT(Buch.Titel) AS Anzahl, Verlag.Name
    FROM Buch, Verlag
    WHERE Buch.Verlag=Verlag.Kurzbezeichnung
    GROUP BY Verlag.Name
    HAVING Anzahl>10

    6. Abfrage:

    Es würde mich interessieren, wo (in welchem Ort, welcher Postleitzahl) es einen Umsatz gibt, der höher als 100.000 ist?</
    Die Abfrage sieht dann folgender Maßen aus:


    SELECT SUM(Buch.Preis*Auftragspos.Menge) AS Umsatz, PLZ.Ort, PLZ.Plz
    FROM Kunde, Buch, PLZ, Auftragspos, Auftrag
    WHERE Buch.Nr=Auftragspos.Buchnummer AND
    Auftragspos.Auftragsnummer=Auftrag.Nr AND
    Auftrag.Kundennummer=Kunde.Nr AND
    Kunde.Plz=PLZ.Plz
    GROUP BY PLZ.Plz
    HAVING Umsatz>100000


    Für weitere knifflige Abfragen bin ich immer offen! =)

    Permalink (3 Kommentare)   Kommentieren