Informationsverarbeitung II Mitterndorfer
Donnerstag, 6. April 2006
SQL-Lösung!
HI!

Da ich kein Experte für SQL-Abfragen bin, wäre ich sehr froh über etwaiige Kritiken und Verbesserungsvorschläge für meine Lösungen!

Danke! FROHE OSTERN UND SCHÖNE FERIEN!

SQL-Beispiele


1)
Kurzbezeichnung, Name, PLZ aller Verlage mit der PLZ "4020".

Select Kurzbezeichnung, Name, Plz
From Verlag
Where Plz Like '4020'

2)
Autor, Titel, Preis aller Bücher die auslaufend sin (y)

Select Autor, Titel, Preis
From Buch
Where Auslaufend Like 'y'

3)
Alle Kunden mit der PLZ "4040"

Select *
From Kunde
Where Plz Like '4040'

4)
Alle Spalten der Tabelle Auftrag und Vorname und Nachname des Kunden

Select Kunde.Nachname, Kunde.Vorname, Auftrag.*
From Auftrag, Kunde
Where Kunde.Nr = Auftrag.Kundennummer

5)
Autor, Titel, Preis aus der Tabelle Buch, Name aus der Tabelle Verlag

Select Buch.Autor, Buch.Titel, Buch.Preis, Verlag.Name
From Buch, Verlag
Where Buch.Verlag = Verlag.Kurzbezeichnung

6)
Alle Spalten der Tabelle Artikel, Preis und Titetel der Tabelle Buch

Select Artikel.*, Buch.Preis, Buch.Titel
From Artikel, Buch
Where Buch.Nr = Artikel.Buchnummer

7)
Kleinster, größter und durchschnittlicher Buchpreis je Verlag

Select Max(Preis) AS ‚größter Preis’ , Min(Preis), AVG(Preis), Verlag
From Buch
Group by Verlag

8)
Auftragsanzahl je Kunde

Select Kunde.Nachname, Kunde.Vorname, Count( Auftrag.Nr)
From Kunde, Auftrag
Where Kunde.Nr = Auftrag.Kundennummer
Group by Kunde.Nr

9)
Alle Auftragsposition für den Auftrag 1: bestehend aus Nr, Buchnummer, Titel, Autor, Menge, Einzelpreis, Gesamtpreis, aufsteigend nach Nr sotiert.

Select Buch.Nr AS Buchnummer, Buch.Autor, Buch.Titel, Buch.Preis As Einzelpreis, Artikel.Menge, Buch.Preis*Artikel.Menge As Gesamtpreis,Auftrag.Nr
From Auftrag, Artikel, Buch
Where Auftrag.Nr = Artikel.Auftragsnummer
And Artikel.Buchnummer = Buch.Nr
Having Auftrag.Nr = '1'

10)
Auftragssumme für den Auftrag 1

Select Artikel.Auftragsnummer AS Auftragsnummer, Sum(Buch.Preis*Artikel.Menge)
From Auftrag, Artikel, Buch
Where Buch.Nr = Artikel.Buchnummer
And Artikel.Auftragsnummer = Auftrag.Nr
Group by Auftragsnummer
Having Auftragsnummer = '1'

11)
Auftragsübersicht: Liste mit den Spalten Auftragsnummer, Datum, Kundennummer, Vorname, Nachname, Auftragssumme, absteigend nach Auftragssumme sortiert.

Select Auftrag.*, Kunde.Vorname, Kunde.Nachname, Sum(Artikel.Menge*Buch.Preis) AS Auftragssumme
From Kunde, Auftrag, Artikel, Buch
Where Kunde.Nr = Auftrag.Kundennummer
And Artikel.Auftragsnummer = Auftrag.Nr
And Buch.Nr = Artikel.Buchnummer
Group by Kunde.Nr
order by Auftragssumme

12)
Kundenumsatz: bestehend aus Gesamtsumme über alle Aufträge des Kunden mit der Nummer 1.

Select Kunde.Nr, Kunde.Nachname,(Buch.Preis*Artikel.Menge) As Gesamtsumme
From Kunde, Auftrag, Artikel, Buch
Where Kunde.Nr = Auftrag.Kundennummer
And Auftrag.Nr = Artikel.Auftragsnummer
And Artikel.Buchnummer = Buch.Nr
Group by Kunde.Nr
Having Kunde.Nr = 1

13)
Kundenstatistik: bestehend aus Gesamtsumme über alle Aufträge je Kundenzahl, Anzahl der Aufträge je Kunde, Kundennummer, Vorname, Nachname, absteigend nach Gesamtsumme sortiert.

Select Kunde.Nr, Kunde.Nachname, Kunde.Vorname, (Buch.Preis*Artikel.Menge) As Gesamtsumme, Count(Auftrag.Nr)
From Kunde, Auftrag, Artikel, Buch
Where Kunde.Nr = Auftrag.Kundennummer
And Auftrag.Nr = Artikel.Auftragsnummer
And Artikel.Buchnummer = Buch.Nr
Group by Kunde.Nr
Order by Gesamtsumme Desc

14)
Liste aller Kunden, deren Nachname mit 'A' beginnt.

Select *
From Kunde
Where Nachname Like 'A%'

15)
Anzahl der Bücher des Verlags mit der Kurzbezeichnung 'b'

Select count(Nr), Verlag
from Buch
where Verlag like 'b'
group by Verlag


16)
Anzahl der Bücher je Verlag, absteigend nach Anzahl sortiert.

Select Verlag, Count(Nr)AS Anzahl
From Buch
Group by Verlag
Order by Anzahl Desc

17)
Verlagsstatistik: Anzahl der Bücher, kleinster, größter, mittlerer Buchpreis je Verlag, aufsteigend nach Verlag sortiert.

Select Verlag, Count(Nr) AS Anzahl, Min(Preis), Max(Preis), AVG(Preis)
From Buch
Group by Verlag
Order by Verlag

18)
Verlagsstatistik: Anzahl der Bücher, kleinster, größter, mittlerer Buchpreis je Verlag, absteigend nach Verlag sortiert

Select Verlag, Count(Nr) AS Anzahl, Min(Preis), Max(Preis), AVG(Preis)
From Buch
Group by Verlag
Order by Verlag desc

19)
Verlagsstatistik: Kurzbezeichung, Name, Anzahl der Bücher, kleinster, größter und mittlerer Buchpreis je Verlag, aufsteigend nach Verlag sortiert.

Select Verlag.Kurzbezeichnung, Verlag.Name, Count(Buch.Nr) AS Anzahl, Min(Buch.Preis), Max(Buch.Preis), Avg(Buch.Preis)
From Verlag, Buch
Where Verlag.Kurzbezeichnung = Buch.Verlag
Group by Verlag.Name
Order by Verlag.Name

20)
Anzahl der Verkäufe und verkaufte Menge des Buches mit der Nummer 1

select Count(Auftrag.Nr) AS Verkäufe, Sum(Artikel.Menge) AS Menge
From Auftrag, Artikel
Where Artikel.Auftragsnummer = Auftrag.Nr
And Artikel.Buchnummer like 1
Group by Artikel.Buchnummer

21)
Buchübserischt: Titel, Autor, und Preis des Buches, Anzahl der Verkäufe und verkaufte Menge je Buch, aufsteigend nach Preis sortiert

select Buch.Nr, Buch.Titel, Buch.Autor, Buch.Preis, Count(Artikel.Auftragsnummer) AS Verkäufe, Sum(Artikel.Menge) AS Menge
From Buch, Artikel
Where Buch.Nr = Artikel.Buchnummer
Group by Buch.Nr
order by Buch.Preis asc


22)
Auswertung für Buch Nr. 1: Titel, Autor, und Preis des Buches, Anzahl der Verkäufe des Buches mit der Nummer 1, bei denen mehr als 3 Stück verkauft wurden.

select Buch.Nr, Buch.Titel, Buch.Autor, Buch.Preis, Count(Artikel.Auftragsnummer) AS Verkäufe, Artikel.Menge
From Buch, Artikel
Where Buch.Nr = Artikel.Buchnummer
And Artikel.Menge > 3
Group by Buch.Nr
Having Buch.Nr = 1

23)
Anzahl der Verkäufe je Buch, wenn die Anzahl der Verkäufe > 3 ist.

Select Buch.Nr, Buch.Titel, Count(Auftragsnummer) AS Anzahl
From Artikel, Buch
Where Buch.Nr = Artikel.Buchnummer
Group by Buch.Nr
Having Count(Auftragsnummer)> 3

oder:
select Buch.Titel, Count(Artikel.Auftragsnummer)
From Buch, Artikel
Where Buch.Nr = Artikel.Buchnummer
And 2 > 3
Group by Buch.Titel

24)
Liste aller Autoren aufsteigend sortiert

Select Autor
From Buch
Order by Autor

25)
Anzahl der unterschiedlichen Autoren je Verlag

Select Verlag, Count(distinct Autor)
From Buch
Group by Verlag

26)
Liste der auslaufenden Bücher, deren Bestand > 0 ist

Select Nr, Titel
From Buch
Where Bestand > 0
And Auslaufend = 'y'

27)
Liste aller Bücher, deren Preis zwischen 10 und 20 liegt.

Select Nr, Titel, Preis
From Buch
Where Preis Between '10' and '20'

28)
Anzahl der Bücher je Autor, absteigend nach Anzahl sortiert

Select Autor, Count(Nr)
From Buch
Group by Autor
order by 2 desc

29)
Liste aller Englischbücher, bestehend aus Titel, Autor, Verlag , aufsteigend nach Titel sortiert.

Select Titel, Autor, Verlag
From Buch
Where Titel Like '%englisch%'
order by Titel

30)
Liste aller Verlag in der Region O, alphabetisch nach Name sortiert.

Select Verlag.Name, PLZ.Region
From PLZ, Verlag
Where PLZ.Plz = Verlag.Plz
And Region like 'o'
order by Verlag.Name

31)
Liste aller Kunden in der Region W, alphaetisch nach Name sortiert.

Select Kunde.Nachname, PLZ.Region
From Kunde, PLZ
Where PLZ.Plz = Kunde.Plz
And Region = 'w'
order by Kunde.Nachname

... comment

 
Hans.Mittendorfer.Uni-Linz, Donnerstag, 6. April 2006, 18:35
für den Anfang ..
.. sind Ihre Abfragen sehr engagiert. Sie könnten diese aber anreichern, indem Sie zu jeder Afrage notieren, was damit erreicht werden soll.

So etwa für Abfrage Nr. 20: Liste aller Bücher mit einem Preis zwischen 10 und 20 Euro, unsortiert. Oder was soll das "distinct" in Abfrage 28 ? usw.

Und noch was: haben Sie alle Abfragen aus ausprobiert ? oder sind diese nur so hingeschrieben.

... link  

 
Daniela.Himsl.Uni-Linz, Freitag, 7. April 2006, 09:57
Abfragen...
...sind alle ausprobiert. Ich dachte mir, da jeder den Angabezettel hat, brauche ich es nicht dazuzuschreiben, aber ich kann die Angabe noch beifügen.

distinct steht, dass es keine Doppeleinträge zählt, obwohl es wahrscheinlich eh nicht passiert, aber um mich 100%ig abzusichern.

Schöne Ferien!

... link  


... comment


To prevent spam abuse referrers and backlinks are displayed using client-side JavaScript code. Thus, you should enable the option to execute JavaScript code in your browser. Otherwise you will only see this information.

Online for 6855 days
Last update: 2007.05.15, 09:43
status
You're not logged in ... login
menu
... home
... topics
... galleries

... ::collabor:: home
search
 
calendar
April 2006
Mo
Di
Mi
Do
Fr
Sa
So
 
 
 
 
 
 1 
 2 
 3 
 4 
 5 
 7 
 8 
 9 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
28
29
30
 
recent updates
Übung zur Klausur
ÜBUNG Andreas Viehböck: Hier gehts es auf...
by Daniela.Himsl.Uni-Linz (2007.05.15, 09:43)
Query: select Verlag.Name,...
Query: select Verlag.Name, Count(Buch.Nr) From Verlag,...
by Daniela.Himsl.Uni-Linz (2006.06.29, 11:34)
SQL-Lösung!
HI! Da ich kein Experte für SQL-Abfragen bin,...
by Daniela.Himsl.Uni-Linz (2006.06.23, 13:03)
Tutorium Beispiel
Hi! Hier die Auswertung des Umsatzes! Hier kommt...
by Daniela.Himsl.Uni-Linz (2006.06.22, 13:05)
Pivottabelle auslaufende...
Hi sverweis (xls, 18 KB) Hier versuch ich eine kleine...
by Daniela.Himsl.Uni-Linz (2006.05.24, 15:15)

xml version of this page

made with antville