0655941       
Donnerstag, 18. Juni 2009

SQL Zusammenfassung


Alle Vor- und Nachname aus der Tabelle PLZ Wien
select vorname, nachname
from Kunde, PLZ
where Ort
like "Wien"


Alle Vornnamen aus Wien
select vorname
from Kunde
where PLZ
like "1%"


Alle Kunden aus Wien
select Kunde.Vorname, Kunde.Nachname
from Kunde, PLZ
where PLZ.Ort='Wien'


Wie viele Bücher vertreibt der Verlag ?
Wie hoch ist die Bestellsumme wenn jedes Buch einmal bestellt wird ?
Select count(Nr), sum(Preis)
From Buch
where Verlag='mc'


oder bessere Abfrage mit mehr Ergebniss
select count(Buch.Nr), sum(Buch.Preis)
from Buch, Verlag
where Verlag.Kurzbezeichnung
like 'mc'


Die Kurzbezeichnung vom Verlag Morawa aus Verlag Suchen
select Kurzbezeichnung, Name
from Verlag
where Name like 'Morawa%'


Wie viel kostet ein Buch des Autors Arge im Durchschnitt
select avg(Preis)
from Buch
where Autor='Arge'


Wie viel kostet ein Buch des Autors Arge im Durchschnitt mit schöner Tabelle mit einem Wort
select avg(Preis) as Durchschnittspreis
from Buch
where Autor='Arge'


Wie viel kostet ein Buch des Autors Arge im Durchschnitt mit schöner Tabelle mit mehreren Wörtern
select avg(Preis) as 'Durchschnittspreis des Autors Arge'
from Buch
where Autor='Arge'


Welcher Autor hat wie viele Bücher geschrieben ?
Sortiere absteigend nach der Bücheranzahl
select Autor, count(Nr)
from Buch
group by Autor
order by 2 desc


Es sollen alle Orte in OE in einer Liste mit Ihrer PLZ ausgegeben werden,
die einen PLZ haben die nicht mit einen 4er beginnen.
select Ort, PLZ
from PLZ
where Region='O'
and Plz not like '4%'
order by 1


Wie hoch ist die Auftragssumme des Kunden Dürr ?
select sum(Auftragspos.Menge*Buch.Preis) as 'Auftragssumme des Kunden Dürr'
from Buch, Auftragspos, Kunde, Auftrag
where Kunde.Nachname like 'Dürr'
and (Auftrag.Kundennummer=Kunde.Nr)
and (Auftragspos.Auftragsnummer=Auftrag.Nr)
and (Buch.Nr=Auftragspos.Buchnummer)
group by Kunde.Nachname


Wie viele Bücher haben die einzelnen Verlage
Ausgenommen Morawa Verlag in ihrem Sortiment
Auszugeben Name der Verlages und Anzahl der Bücher
select Verlag.Name, count(Buch.Nr) as Bücheranzahl
from Buch, Verlag
where Buch.Verlag=Verlag.Kurzbezeichnung
and Buch.Verlag not like 'mc'
group by Verlag.Name
order by 2


Erstellen sie eine Liste aller Verlage die mehr als 20 Titeln im Programm haben,
der Name und der Titel soll angezeigt werden
select Verlag.Name, count(Buch.Nr) as Bücheranzahl
from Buch, Verlag
where Buch.Verlag=Verlag.Kurzbezeichnung
group by Verlag.Name
having count(Buch.Nr)>20
order by 2 desc


Es sollen alle bisher erfassen Aufträge angezeigt werden und zwar mit Auftragsnummer Kundenname und Auftragssumme die Anzeige soll absteigend nach Auftragnummer sortiert werden
select Auftrag.Nr as Auftragsnumer, Kunde.Nachname, sum(Auftragspos.Menge*Preis) as Auftragssumme
from Auftrag, Auftragspos, Kunde, Buch
where (Auftrag.Nr=Auftragspos.Auftragsnummer)
and (Auftragspos.Buchnummer=Buch.Nr)
and (Kunde.Nr=Auftrag.Kundennummer)
group by Kunde.Nachname
order by 3


Es sollen alle OÖ –Orte angegeben werden, die eine Postleitzahl haben, die nicht mit einem 4er beginnen.
select Ort, PLZ
from PLZ
where Region='O'
and Plz not like '4%'
order by 1


Wieviel Bücher vertreibt der Herder Verlag und wie teuer ist es, jedes Buch davon zu bestellen ?
select Titel, Preis as 'Alle Bücher des Herder Verlags und die jeweiligen Preise'
from Buch
where Autor='Oberleitner'


Wieviel kostet im Durchschnitt ein Buch des Autor Oberleitner ?
select avg(Preis) as 'Durchschnittspreis des Autors Oberleitner'
from Buch
where Autor='Oberleitner'


Welcher Autor hat wie viele Bücher geschrieben, sortiere absteigend nach der Bücheranzahl ?
select Autor, count(Nr) as 'Autor und Bücheranzahl sortiert nach Bücheranzahl'
from Buch
group by Autor
order by 2 desc


Welche Kunden kommen aus der Region Oberösterreich ? Auszugeben ist der Name des Kunden und die Region.
select Vorname, Nachname, Region
from Kunde, PLZ
where Region='O'


Wieviel Bücher haben die einzelnen Verlage in ihrem Sortiment ?
select verlag, count(Nr)
from Buch
group by Verlag
order by 2 desc


Wieviel hat der Kunde Dörr insgesamt ausgegeben ?
select sum(Auftragspos.Menge*Buch.Preis) as 'Auftragssumme des Kunden Dürr'
from Buch, Auftragspos, Kunde, Auftrag
where Kunde.Nachname like 'Dürr'
and (Auftrag.Kundennummer=Kunde.Nr)
and (Auftragspos.Auftragsnummer=Auftrag.Nr)
and (Buch.Nr=Auftragspos.Buchnummer)
group by Kunde.Nachname


Es sollen alle bisher erfassten Aufträge angezeigt werden, und zwar mit Auftragsnummer, Kundennummer und Auftragssumme. Die Anzeige soll absteigend nach der Auftragssumme sortiert werden.
select Auftrag.Nr as Auftragsnumer, Kunde.Nachname, sum(Auftragspos.Menge*Preis) as Auftragssumme
from Auftrag, Auftragspos, Kunde, Buch
where (Auftrag.Nr=Auftragspos.Auftragsnummer)
and (Auftragspos.Buchnummer=Buch.Nr)
and (Kunde.Nr=Auftrag.Kundennummer)
group by Kunde.Nachname
order by 3


Erstellen Sie eine Liste der Verlage mit mehr als 10 Titel! Auszugeben ist der Name des Verlages und die Anzahl der Titel !
select Verlag.Name, count(Buch.Nr) as Bücheranzahl
from Buch, Verlag
where Buch.Verlag=Verlag.Kurzbezeichnung
group by Verlag.Name
having count(Buch.Nr)>10
order by 2 desc


Wo (in welcher Postleitzahl) gibt es einen umsatz, der höher al 100.000 ist ? Auszugeben ist der PLZ und der Umsatz!


Select *
from Kunde
where Vorname
like 'fran%'
order by 'Nachname'


Select Kunde.Vorname, Kunde.Nachname, Kunde.Plz, PLZ.PLz
from Kunde, PLZ
where PLZ.Ort="WIEN"


Select Kunde.Vorname, Kunde.Nachname, Kunde.Plz, PLZ.PLz
from Kunde, PLZ
where PLZ.Ort='WIEN'
order by 3 desc

Suche alle Bücher aus der Kategorie Biologie.

SELECT Buch.Titel, Buch.Autor
FROM Buch
WHERE Buch.Titel = "Biologie"

Beim Ergebnis sieht man, dass es keine Bücher aus der Kategorie Biologie gibt. Mit dem folgenden Befehl erhält man alle Bücher der Kategorie Chemie.

SELECT *
FROM Buch
WHERE Buch.Titel = "Chemie"


> AND wird genommen wenn alle Kriterien zutreffen sollen
> OR wird verwendet, wenn nur ein Kriterium zutreffen soll
> Namen/Wörter sind unter Anführungsstriche zu setzen, Zahlen nicht
> PLZ > (größer als), PLZ < (kleiner als) und PLZ = (ist gleich)
> BETWEEN sucht zwischen zwei Werten


> LIKE wird verwendet, wenn man ein gewisses Wort nicht mehr vollständig weiß.
> den Teil, den man nicht kennt, wird mit einem %-Zeichen ersetzt.


SELECT Buch.Titel
FROM Buch
WHERE Buch.Titel LIKE "Ch%"
> weiß, dass das Buch mit Ch anfängt, aber sonst nichts.

WHERE Buch.Titel LIKE "%ch"
> man weiß, dass das Wort mit ch aufhört.

WHERE Buch.Titel LIKE "%ch%"
> man weiß, dass im Wort ch vorkommt.


Welche Kunden kommen aus Wien?

SELECT Kunde.Vorname, Kunde.Nachname, PLZ.Ort
FROM Kunde, PLZ
WHERE Kunde.Plz=PLZ.Plz AND PLZ.Ort LIKE “Wien“
GROUP BY 1 (= Vorname), 2 (=Nachname)


Folgende Operanten können bei einer Abfrage verwendet werden:
SUM = Summe (sofort zu nehmen, wenn in der Angabe etwas mit Summe steht)
MIN = Minimalbetrag
MAX = Maximalbetrag
COUNT = zählen
AVG = Durchschnitt

Bei diesen Operatoren braucht man fast immer folglich den Befehl GROUP BY!


Wie viele Bücher vertreibt der Morawa Verlag und wie hoch ist die Bestellsumme, wenn jedes Buch dieses Verlages einmal bestellt wird?

SELECT SUM(Buch.Preis), COUNT(Buch.Nr)
FROM Buch
WHERE Buch.Verlag = “mc” (Kurzbezeichnung von Verlag)

SELECT SUM(Buch.Preis) AS Bestellsumme, COUNT(Buch.Nr) AS Bestellanzahl
FROM Buch
WHERE Buch.Verlag = "Mc"

AS kann zum Bezeichnen von Überschriften bzw. Ergebnissen bzw. der Operatoren verwendet werden. > wenn man Wörter mit Leerräumen nimmt, dann gehören Anführungsstriche, sonst nicht > wenn möglich, keine Umlaute verwenden, z.B. Buecher.


Wir wollen alle Auftragsnummern die über € 20.000 Gesamteinkaufssume liegen?

SELECT SUM(Buch.Preis*Auftragspos.Menge) AS Summe, Auftragspos.Nr AS Auftragsposition, Kunde.Nr AS Kundennummer
FROM Auftragspos, Kunde, Buch, Auftrag
WHERE Kunde.Nr=Auftrag.Kundennummer AND Buch.Nr=Auftragspos.Buchnummer AND Auftrag.Nr=Auftragspos.Auftragsnummer
GROUP BY Auftragspos.Auftragsnummer
HAVING Summe>20.000


Abfrage mit Datum:

SELECT Kunde.Nr, Kunde.Nachname, COUNT(DISTINCT(Auftrag.Nr)) as "Summe der Aufträge", sum(Buch.Preis*Auftragspos.Menge) as "Auftragssumme", Auftrag.Datum
FROM Kunde, Auftrag, Auftragspos, Buch
WHERE Kunde.Nr=Auftrag.Kundennummer
AND Auftrag.Nr=Auftragspos.Auftragsnummer
AND Auftragspos.Buchnummer=Buch.Nr
AND Auftrag.Datum >= "2000-01-01"
GROUP BY 2
ORDER BY 5 desc


Achten Sie darauf, dass die Anzahl der getätigten Aufträge "COUNT(Auftrag.Nr)" korrekt ist, bzw. im Vergleich zur Ausgangssituation unverändert.

SELECT Kunde.Nr, Kunde.Nachname, COUNT(DISTINCT(Auftrag.Nr)) as "Summe der Aufträge", sum(Buch.Preis*Auftragspos.Menge) as "Umsatz", Auftrag.Datum
FROM Kunde, Auftrag, Auftragspos, Buch
WHERE Kunde.Nr=Auftrag.Kundennummer
AND Auftrag.Nr=Auftragspos.Auftragsnummer
AND Auftragspos.Buchnummer=Buch.Nr
AND Auftrag.Datum >= "2000-07-01"
AND Auftrag.Datum < "2001-01-01"
GROUP BY 2
ORDER BY 5 desc


LIMIT

SELECT Verlag. Kurzbezeichnung, Verlag.Name, Buch.Titel, Buch.Nr
FROM Buch, Verlag
WHERE Verlag.Kurzbezeichnung=Buch.Verlag
AND Verlag.Name LIKE "d%"
ORDER BY 4 DESC
LIMIT 10 --


Aufgabenstellung:
Buchumsätze von Kunden, die mit „M“ (Vornamen) anfangen, raussuchen + ins Excel importieren!

Lösung:
SELECT Kunde.Nr, Kunde.Vorname, Kunde.Nachname, Kunde.Strasse, Kunde.PLZ, SUM(Buch.Preis*Auftragspos.Menge) AS Umsatz
FROM Kunde, Auftrag, Auftragspos, Buch
WHERE Kunde.Nr=Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr AND Kunde.Vorname LIKE "M%"
GROUP BY Kunde.Nr


Alle Vor- und Nachname aus der Tabelle PLZ Wien
select vorname, nachname
from Kunde, PLZ
where Ort
like "Wien"


Alle Vornnamen aus Wien
select vorname
from Kunde
where PLZ
like "1%"


Alle Kunden aus Wien
select Kunde.Vorname, Kunde.Nachname
from Kunde, PLZ
where PLZ.Ort='Wien'


Wie viele Bücher vertreibt der Verlag ?
Wie hoch ist die Bestellsumme wenn jedes Buch einmal bestellt wird ?
Select count(Nr), sum(Preis)
From Buch
where Verlag='mc'


oder bessere Abfrage mit mehr Ergebniss
select count(Buch.Nr), sum(Buch.Preis)
from Buch, Verlag
where Verlag.Kurzbezeichnung
like 'mc'


Die Kurzbezeichnung vom Verlag Morawa aus Verlag Suchen
select Kurzbezeichnung, Name
from Verlag
where Name like 'Morawa%'


Wie viel kostet ein Buch des Autors Arge im Durchschnitt
select avg(Preis)
from Buch
where Autor='Arge'


Wie viel kostet ein Buch des Autors Arge im Durchschnitt mit schöner Tabelle mit einem Wort
select avg(Preis) as Durchschnittspreis
from Buch
where Autor='Arge'


Wie viel kostet ein Buch des Autors Arge im Durchschnitt mit schöner Tabelle mit mehreren Wörtern
select avg(Preis) as 'Durchschnittspreis des Autors Arge'
from Buch
where Autor='Arge'


Welcher Autor hat wie viele Bücher geschrieben ?
Sortiere absteigend nach der Bücheranzahl
select Autor, count(Nr)
from Buch
group by Autor
order by 2 desc


Es sollen alle Orte in OE in einer Liste mit Ihrer PLZ ausgegeben werden,
die einen PLZ haben die nicht mit einen 4er beginnen.
select Ort, PLZ
from PLZ
where Region='O'
and Plz not like '4%'
order by 1


Wie hoch ist die Auftragssumme des Kunden Dürr ?
select sum(Auftragspos.Menge*Buch.Preis) as 'Auftragssumme des Kunden Dürr'
from Buch, Auftragspos, Kunde, Auftrag
where Kunde.Nachname like 'Dürr'
and (Auftrag.Kundennummer=Kunde.Nr)
and (Auftragspos.Auftragsnummer=Auftrag.Nr)
and (Buch.Nr=Auftragspos.Buchnummer)
group by Kunde.Nachname


Wie viele Bücher haben die einzelnen Verlage
Ausgenommen Morawa Verlag in ihrem Sortiment
Auszugeben Name der Verlages und Anzahl der Bücher
select Verlag.Name, count(Buch.Nr) as Bücheranzahl
from Buch, Verlag
where Buch.Verlag=Verlag.Kurzbezeichnung
and Buch.Verlag not like 'mc'
group by Verlag.Name
order by 2


Erstellen sie eine Liste aller Verlage die mehr als 20 Titeln im Programm haben,
der Name und der Titel soll angezeigt werden
select Verlag.Name, count(Buch.Nr) as Bücheranzahl
from Buch, Verlag
where Buch.Verlag=Verlag.Kurzbezeichnung
group by Verlag.Name
having count(Buch.Nr)>20
order by 2 desc


Es sollen alle bisher erfassen Aufträge angezeigt werden und zwar mit Auftragsnummer Kundenname und Auftragssumme die Anzeige soll absteigend nach Auftragnummer sortiert werden
select Auftrag.Nr as Auftragsnumer, Kunde.Nachname, sum(Auftragspos.Menge*Preis) as Auftragssumme
from Auftrag, Auftragspos, Kunde, Buch
where (Auftrag.Nr=Auftragspos.Auftragsnummer)
and (Auftragspos.Buchnummer=Buch.Nr)
and (Kunde.Nr=Auftrag.Kundennummer)
group by Kunde.Nachname
order by 3


Es sollen alle OÖ –Orte angegeben werden, die eine Postleitzahl haben, die nicht mit einem 4er beginnen.
select Ort, PLZ
from PLZ
where Region='O'
and Plz not like '4%'
order by 1


Wieviel Bücher vertreibt der Herder Verlag und wie teuer ist es, jedes Buch davon zu bestellen ?
select Titel, Preis as 'Alle Bücher des Herder Verlags und die jeweiligen Preise'
from Buch
where Autor='Oberleitner'


Wieviel kostet im Durchschnitt ein Buch des Autor Oberleitner ?
select avg(Preis) as 'Durchschnittspreis des Autors Oberleitner'
from Buch
where Autor='Oberleitner'


Welcher Autor hat wie viele Bücher geschrieben, sortiere absteigend nach der Bücheranzahl ?
select Autor, count(Nr) as 'Autor und Bücheranzahl sortiert nach Bücheranzahl'
from Buch
group by Autor
order by 2 desc


Welche Kunden kommen aus der Region Oberösterreich ? Auszugeben ist der Name des Kunden und die Region.
select Vorname, Nachname, Region
from Kunde, PLZ
where Region='O'


Wieviel Bücher haben die einzelnen Verlage in ihrem Sortiment ?
select verlag, count(Nr)
from Buch
group by Verlag
order by 2 desc


Wieviel hat der Kunde Dörr insgesamt ausgegeben ?
select sum(Auftragspos.Menge*Buch.Preis) as 'Auftragssumme des Kunden Dürr'
from Buch, Auftragspos, Kunde, Auftrag
where Kunde.Nachname like 'Dürr'
and (Auftrag.Kundennummer=Kunde.Nr)
and (Auftragspos.Auftragsnummer=Auftrag.Nr)
and (Buch.Nr=Auftragspos.Buchnummer)
group by Kunde.Nachname


Es sollen alle bisher erfassten Aufträge angezeigt werden, und zwar mit Auftragsnummer, Kundennummer und Auftragssumme. Die Anzeige soll absteigend nach der Auftragssumme sortiert werden.
select Auftrag.Nr as Auftragsnumer, Kunde.Nachname, sum(Auftragspos.Menge*Preis) as Auftragssumme
from Auftrag, Auftragspos, Kunde, Buch
where (Auftrag.Nr=Auftragspos.Auftragsnummer)
and (Auftragspos.Buchnummer=Buch.Nr)
and (Kunde.Nr=Auftrag.Kundennummer)
group by Kunde.Nachname
order by 3




Erstellen Sie eine Liste der Verlage mit mehr als 10 Titel! Auszugeben ist der Name des Verlages und die Anzahl der Titel !
select Verlag.Name, count(Buch.Nr) as Bücheranzahl
from Buch, Verlag
where Buch.Verlag=Verlag.Kurzbezeichnung
group by Verlag.Name
having count(Buch.Nr)>10
order by 2 desc


Wo (in welcher Postleitzahl) gibt es einen umsatz, der höher al 100.000 ist ? Auszugeben ist der PLZ und der Umsatz!


Select *
from Kunde
where Vorname
like 'fran%'
order by 'Nachname'


Select Kunde.Vorname, Kunde.Nachname, Kunde.Plz, PLZ.PLz
from Kunde, PLZ
where PLZ.Ort="WIEN"


Select Kunde.Vorname, Kunde.Nachname, Kunde.Plz, PLZ.PLz
from Kunde, PLZ
where PLZ.Ort='WIEN'
order by 3 desc


Suche alle Bücher aus der Kategorie Biologie.

SELECT Buch.Titel, Buch.Autor
FROM Buch
WHERE Buch.Titel = "Biologie"

Beim Ergebnis sieht man, dass es keine Bücher aus der Kategorie Biologie gibt. Mit dem folgenden Befehl erhält man alle Bücher der Kategorie Chemie.

SELECT *
FROM Buch
WHERE Buch.Titel = "Chemie"


> AND wird genommen wenn alle Kriterien zutreffen sollen
> OR wird verwendet, wenn nur ein Kriterium zutreffen soll
> Namen/Wörter sind unter Anführungsstriche zu setzen, Zahlen nicht
> PLZ > (größer als), PLZ < (kleiner als) und PLZ = (ist gleich)
> BETWEEN sucht zwischen zwei Werten


> LIKE wird verwendet, wenn man ein gewisses Wort nicht mehr vollständig weiß.
> den Teil, den man nicht kennt, wird mit einem %-Zeichen ersetzt.


SELECT Buch.Titel
FROM Buch
WHERE Buch.Titel LIKE "Ch%"
> weiß, dass das Buch mit Ch anfängt, aber sonst nichts.

WHERE Buch.Titel LIKE "%ch"
> man weiß, dass das Wort mit ch aufhört.

WHERE Buch.Titel LIKE "%ch%"
> man weiß, dass im Wort ch vorkommt.


Welche Kunden kommen aus Wien?

SELECT Kunde.Vorname, Kunde.Nachname, PLZ.Ort
FROM Kunde, PLZ
WHERE Kunde.Plz=PLZ.Plz AND PLZ.Ort LIKE “Wien“
GROUP BY 1 (= Vorname), 2 (=Nachname)


Folgende Operanten können bei einer Abfrage verwendet werden:
SUM = Summe (sofort zu nehmen, wenn in der Angabe etwas mit Summe steht)
MIN = Minimalbetrag
MAX = Maximalbetrag
COUNT = zählen
AVG = Durchschnitt

Bei diesen Operatoren braucht man fast immer folglich den Befehl GROUP BY!


Wie viele Bücher vertreibt der Morawa Verlag und wie hoch ist die Bestellsumme, wenn jedes Buch dieses Verlages einmal bestellt wird?

SELECT SUM(Buch.Preis), COUNT(Buch.Nr)
FROM Buch
WHERE Buch.Verlag = “mc” (Kurzbezeichnung von Verlag)

SELECT SUM(Buch.Preis) AS Bestellsumme, COUNT(Buch.Nr) AS Bestellanzahl
FROM Buch
WHERE Buch.Verlag = "Mc"

AS kann zum Bezeichnen von Überschriften bzw. Ergebnissen bzw. der Operatoren verwendet werden. > wenn man Wörter mit Leerräumen nimmt, dann gehören Anführungsstriche, sonst nicht > wenn möglich, keine Umlaute verwenden, z.B. Buecher.


Wir wollen alle Auftragsnummern die über € 20.000 Gesamteinkaufssume liegen?

SELECT SUM(Buch.Preis*Auftragspos.Menge) AS Summe, Auftragspos.Nr AS Auftragsposition, Kunde.Nr AS Kundennummer
FROM Auftragspos, Kunde, Buch, Auftrag
WHERE Kunde.Nr=Auftrag.Kundennummer AND Buch.Nr=Auftragspos.Buchnummer AND Auftrag.Nr=Auftragspos.Auftragsnummer
GROUP BY Auftragspos.Auftragsnummer
HAVING Summe>20.000


Abfrage mit Datum:

SELECT Kunde.Nr, Kunde.Nachname, COUNT(DISTINCT(Auftrag.Nr)) as "Summe der Aufträge", sum(Buch.Preis*Auftragspos.Menge) as "Auftragssumme", Auftrag.Datum
FROM Kunde, Auftrag, Auftragspos, Buch
WHERE Kunde.Nr=Auftrag.Kundennummer
AND Auftrag.Nr=Auftragspos.Auftragsnummer
AND Auftragspos.Buchnummer=Buch.Nr
AND Auftrag.Datum >= "2000-01-01"
GROUP BY 2
ORDER BY 5 desc


Achten Sie darauf, dass die Anzahl der getätigten Aufträge "COUNT(Auftrag.Nr)" korrekt ist, bzw. im Vergleich zur Ausgangssituation unverändert.

SELECT Kunde.Nr, Kunde.Nachname, COUNT(DISTINCT(Auftrag.Nr)) as "Summe der Aufträge", sum(Buch.Preis*Auftragspos.Menge) as "Umsatz", Auftrag.Datum
FROM Kunde, Auftrag, Auftragspos, Buch
WHERE Kunde.Nr=Auftrag.Kundennummer
AND Auftrag.Nr=Auftragspos.Auftragsnummer
AND Auftragspos.Buchnummer=Buch.Nr
AND Auftrag.Datum >= "2000-07-01"
AND Auftrag.Datum < "2001-01-01"
GROUP BY 2
ORDER BY 5 desc


LIMIT

SELECT Verlag. Kurzbezeichnung, Verlag.Name, Buch.Titel, Buch.Nr
FROM Buch, Verlag
WHERE Verlag.Kurzbezeichnung=Buch.Verlag
AND Verlag.Name LIKE "d%"
ORDER BY 4 DESC
LIMIT 10 --


Aufgabenstellung:
Buchumsätze von Kunden, die mit „M“ (Vornamen) anfangen, raussuchen + ins Excel importieren!

Lösung:
SELECT Kunde.Nr, Kunde.Vorname, Kunde.Nachname, Kunde.Strasse, Kunde.PLZ, SUM(Buch.Preis*Auftragspos.Menge) AS Umsatz
FROM Kunde, Auftrag, Auftragspos, Buch
WHERE Kunde.Nr=Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Auftragspos.Buchnummer=Buch.Nr AND Kunde.Vorname LIKE "M%"
GROUP BY Kunde.Nr


| link | comment | (0 comments)