SQL Beispiele
Dienstag, 29. Januar 2008, 10:28
Abfrage
SELECT
FROM
WHERE
Einfache Abfrage
SELECT Vorname
FROM Kunde
Mehr Abfragen
SELECT Vorname, Nachname, Plz
FROM Kunde
Alles aus einer Tabelle abfragen
SELECT*
FROM Kunde
Jeden Vornamen nur einmal
SELECT DISTINCT Vorname
FROM Kunde
Auswahl auf „Michael“ eingrenzen
SELECT Vorname, Nachname
FROM Kunde
WHERE Vorname='Michael'
...und PLZ kleiner 4030
SELECT Vorname, Nachname, Plz
FROM Kunde
WHERE Vorname='Michael' AND Plz<4030
PLZ zwischen 1010 und 4030
SELECT Vorname, Nachname, Plz
FROM Kunde
WHERE Plz BETWEEN 1010 AND 4030
Schlüsselwörter
SELECT Vorname, Nachname
FROM Kunde
WHERE Nachname LIKE '%Muster%'
Datensätze ordnen
SELECT Vorname, Nachname
FROM Kunde
ORDER BY Nachname, Vorname ASC
Gruppieren
SELECT Vorname, Nachname
FROM Kunde
GROUP BY Nachname, Vorname ASC
Beispiel 1 Welche Kunden kommen aus Wien?
SELECT Kunde.Vorname, Kunde.Nachname, PLZ.Ort
FROM Kunde, PLZ
WHERE Kunde.Plz=PLZ.Plz AND PLZ.Ort='Wien'
ORDER BY Kunde.Nachname
Beispiel 2 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'
Beispiel 3 Wie viel kostet im Durchschnitt ein Buch des Autors Arge?
SELECT AVG(Buch.Preis), COUNT(Buch.Nr)
FROM Buch
WHERE Buch.Autor='Arge'
Beispiel 4 Welcher Autor hat wie viele Bücher geschrieben? Sortiere absteigend nach der Bücheranzahl.
SELECT Buch.Autor, COUNT(*)
FROM Buch
GROUP BY Buch.Autor
ORDER BY 2 DESC
Beispiel 5 Es sollen alle Orte in Oberösterreich in einer Liste mit ihrer Postleitzahl ausgegeben werden. Es sollen nur jene Orte aufgelistet wer-den deren Postleitzahl nicht mit einer 4 beginnt.
SELECT *
FROM PLZ
WHERE (PLZ.Region='O' AND PLZ.Plz<4000) OR (PLZ.Region='O' AND PLZ.Plz>4999)
SELECT
FROM
WHERE
Einfache Abfrage
SELECT Vorname
FROM Kunde
Mehr Abfragen
SELECT Vorname, Nachname, Plz
FROM Kunde
Alles aus einer Tabelle abfragen
SELECT*
FROM Kunde
Jeden Vornamen nur einmal
SELECT DISTINCT Vorname
FROM Kunde
Auswahl auf „Michael“ eingrenzen
SELECT Vorname, Nachname
FROM Kunde
WHERE Vorname='Michael'
...und PLZ kleiner 4030
SELECT Vorname, Nachname, Plz
FROM Kunde
WHERE Vorname='Michael' AND Plz<4030
PLZ zwischen 1010 und 4030
SELECT Vorname, Nachname, Plz
FROM Kunde
WHERE Plz BETWEEN 1010 AND 4030
Schlüsselwörter
SELECT Vorname, Nachname
FROM Kunde
WHERE Nachname LIKE '%Muster%'
Datensätze ordnen
SELECT Vorname, Nachname
FROM Kunde
ORDER BY Nachname, Vorname ASC
Gruppieren
SELECT Vorname, Nachname
FROM Kunde
GROUP BY Nachname, Vorname ASC
Beispiel 1 Welche Kunden kommen aus Wien?
SELECT Kunde.Vorname, Kunde.Nachname, PLZ.Ort
FROM Kunde, PLZ
WHERE Kunde.Plz=PLZ.Plz AND PLZ.Ort='Wien'
ORDER BY Kunde.Nachname
Beispiel 2 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'
Beispiel 3 Wie viel kostet im Durchschnitt ein Buch des Autors Arge?
SELECT AVG(Buch.Preis), COUNT(Buch.Nr)
FROM Buch
WHERE Buch.Autor='Arge'
Beispiel 4 Welcher Autor hat wie viele Bücher geschrieben? Sortiere absteigend nach der Bücheranzahl.
SELECT Buch.Autor, COUNT(*)
FROM Buch
GROUP BY Buch.Autor
ORDER BY 2 DESC
Beispiel 5 Es sollen alle Orte in Oberösterreich in einer Liste mit ihrer Postleitzahl ausgegeben werden. Es sollen nur jene Orte aufgelistet wer-den deren Postleitzahl nicht mit einer 4 beginnt.
SELECT *
FROM PLZ
WHERE (PLZ.Region='O' AND PLZ.Plz<4000) OR (PLZ.Region='O' AND PLZ.Plz>4999)