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! =)

    Kommentieren



    claudi217, Sonntag, 7. Dezember 2008, 19:43
    Hallo!
    Ich habe gerade erst begonnen SQL zu lernen. Leider hab ich damit einige Schwierigkeiten. Kannst du mir vl weiterhelfen?
    Ich habe folgendes Datenmodell http://www.imgbox.de/?img=k43160z255.jpg
    und daraus muss ich nun folglich diese Tabellen erstellen
    http://www.imgbox.de/?img=b10533p255.jpg

    Wäre echt richtig toll wenn du mir weiterhelfen könntest:)

    LG

    Ursula.Wagner.Uni-Linz, Dienstag, 9. Dezember 2008, 17:25
    Hey!

    Also ich hab mich mal daran versucht, hab aber leider keine Möglichkeit, das ich es kontrolliere bzw. kann ich dir keine 100%ige Garantie für die Richtigkeit geben. Meiner Meinung nach ist diese Datenbank noch nicht ganz ausformuliert, ich würde noch genauere Beschreibungen für Lehrverantstaltung, Raum, etc brauchen...es muss ja einen Primärschlüssel geben (sozusagen einen Verbindungs-/Anküpfungspunkt) mit dem wir die unterschiedlichen Mini-Datenbanken verknüpfen. =)
    Ich hoffe mein Vorschlag für die erste Tabelle hilft dir weiter!

    SELECT Lehrveranstaltung.Lehrverantstaltungs-Nr., Lehrveranstaltung.Dauer, Raum.Raum Nr.
    FROM Lehrveranstaltung, Raum
    WHERE Raum.Raum Nr. = Raum.Lehrveranstaltung

    Herr Prof. Mittendorfer hat uns eine ziemlich gute Beschreibung bezügl. relationalen Datenbanken auf seinen Webblog zur Verfügung gestellt. Vielleicht möchtest du einen Blick darauf werfen.

    lg Uschi

    claudi217, Dienstag, 9. Dezember 2008, 18:03
    DANKE:)