Cornelia's IV 2 Blog :)

Aktualisiert: 2009.06.24, 12:25 |  login | 
Donnerstag, 19. März 2009

SQL. steht für structured query language

Quelle zum üben : http://sql.idv.lab bzw. von auswärts http://sql.idv.edu/

Tabname: Tabelle                                Feldname: Feldbezeichnung

SELECT: Welche Daten wollen wir abrufen? Steht immer am Anfang einer neuen Abfrage. Beispiel: select Tabname.Feldname (select PLZ.Ort zeigt Daten aus der Tabelle PLZ)

DISTINCT:  Befehl um Mehrfachnennungen zu vermeiden.

FROM: Woher kommen die Daten, welche ich gerne abrufen möchte? Beispiel FROM Tabname (FROM PLZ zeigt Daten aus der Tabelle PLZ).

1. Einfach Abfrage: "SELECT DISTINCT PLZ.Region FROM PLZ" zeigt die alle Regionen 1x. Ohne DISTINCT zeigt er alle angegebenen Regionen, die bei PLZ hinterlegt sind.

WHERE Hier werden Bedingungen angegeben, welche erfüllt werden müssen. ZB wollen wir mehrere Daten aus verschiedenen Tabellen filtern. Beziehung anzeigen: Tabname1.Feldname1=Tabname2.Feldname2. Es gibt verschiedene Beziehungen: 1-n: PLZ (1) zu Kunde (n) heißt, dass einer PLZ mehrere Kunden zugeordnet sind.

2. "Einfache" Abfrage: SELECT Kunde.Vorname, Kunde.Nachname, Kunde.Strasse, Kunde.PLZ, PLZ.Ort FROM Kunde, PLZ WHERE Kunde.PLZ=PLZ.Plz

-> Diese Abfrage zeigt die vollständige Adresse eines Kunden. WHERE ist hier wichtig, weil wir der Datenbank sagen müssen, wie die Tabellen verknüpft sind, da der Ort nicht in der Tabelle Kunde hinterlegt ist, sondern in der Tabelle PLZ. Daher müssen wir hier die Verknüpfung angeben.

Zusatzaufgabe: Wenn wir nur Oberösterreicher haben wollen, dann ergänzen wir folgendes:

AND: Grenzt die Abfrage weiter ein bzw. erweitert sie. Verwenden kann man diese einschränken/erweitern:

BETWEEN: hier kann man zB PLZ einschränken auf "Kunde.Plz BETWEEN 3000 AND 5000"

LIKE: bedeutet "wie" und sagt, was in der Tabelle stehen soll. Beispiel: Region nur Österreich: AND PLZ.Region LIKE 'O'. Das O steht für Oberösterreich in der Tabelle PLZ und muss genauso geschrieben werden, wie es in der Tabelle steht bzw. müssen Texte in Hochkommer gesetzt werden, Zahlen nicht.

MONTH or DAY: Wenn man einen einzelnen Tag oder Monat aus dem Datum filtern möchte, dann gibt man bei WHERE ... LIKE MONTH(Auftrag.Datum) ein.

3. "einfache" Aufgabe: Zwei Tabellen miteinander verknüpfen. Im Prinzip ist die selbe Vorgehensweise: Tabname.Feldname=Tabname1.Feldname1 AND Tabname2.Feldname2=Tabname3.Feldname3 und so weiter... Wichtig ist AND dazwischen! 

SUM(Tabname.Feldname): Summierung von Zahlen in einer Tabelle.

COUNT(Tabname.Feldname): Zählfunktion

AVG(Tabname.Feldname): Durchschnittsberechnung

MIN(Tabname.Feldname): Zeigt Minimum einer Tabelle (Billigstes Buch)

MAX(Tabname.Feldname): zeigt Maximum einer Tabelle (Teuerstes Buch)

Diese Abfragefunktionen stehen nach Select (zB SELECT SUM(Tabname.Feldname). Die ersten drei (sum, count, avg) erfordern eine weitere Abfrage: GROUP BY

GROUP BY: diese Abfrage wird nach WHERE geschrieben.

AS: Gibt der Berechnungsspalte in der Abfrage einen Titel

4. schwere Aufgabe: Wieviel kosten im Durchschnitt die Bücher eines Verlages):

SELECT AVG(Buch.Preis) AS Durchschnittspreis, Buch.Verlag
FROM Buch GROUP BY Buch.Verlag

5. schwere Aufgabe: Wieviel Bücher kaufte Hr. Groll? ->

SELECT Kunde.Nachname, SUM(Auftragspos.Menge) AS Bestellmenge
FROM Kunde, Auftrag, Auftragspos WHERE Kunde.Nr=Auftrag.Kundennummer AND Auftrag.Nr=Auftragspos.Auftragsnummer AND Kunde.Nachname LIKE 'Groll' GROUP BY Kunde.Nr

ORDER BY: Ordnungsfunktion. zB ORDER BY Buch.Name sortiert die Büchernamen nach Alphabet

... permalink  ... comment

 
Suppppppppppper

hallo, echt wahnsinn wie toll du alles mitschreibst. vielen dank, find ich echt super von dir, dass du alles hier in deinen blog stellst!

kompliment, mfg, gerhard

... commentlink  


... comment

Menu
Suche
 
Aktuelle Kommentare
Ergänzung Bild einfügen
Hallo, ich hätte noch eine verspätete Ergänzung...
by Gerhard.Zeppetzauer.Uni-Linz (2009.04.30, 23:36)
danke :)
Danke für deine Ergänzung - ist immer gerne...
by cornelia.degeneve.Uni-Linz (2009.04.01, 12:04)
Eine kleine Ergänzung
Hallo! Ich wollte nur anmerken das eine Optionale order...
by Manuel.Baumkirchner.Uni-Linz (2009.03.28, 10:29)
Suppppppppppper
hallo, echt wahnsinn wie toll du alles mitschreibst....
by Gerhard.Zeppetzauer.Uni-Linz (2009.03.24, 11:43)

xml version of this page

made with antville
nach oben |  startseite |  kategorien |