Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
Delphi 8 Architect
|
Re: Kann mir einer "Joints" erklären?
20. Jun 2004, 17:01
Also hier mal ein kurzer Überblick über die Wirkung der verschiedenen JOINs:
SQL-Code:
Tabelle Tag:
idTag (integer PrimaryKey)
Tag (varchar)
Werte: idTag Tag
1 Mo
2 Di
3 Mi
4 Do
5 Fr
Tabelle Stunde:
idStunde (integer PrimaryKey)
idTag (integer ForeignKey verweist auf Tabelle Tag
Stunde (Varchar)
Start (integer)
Werte: idStunde idTag Stunde Start
1 1 Mathe 8
2 1 Chemie 9
3 3 Mathe 8
4 3 Deutsch 10
5 5 Mathe 11
6 5 Chemie 12
7 6 Fehler 0 (Tag 6 kommt in Tabelle Tag nicht vor)
Abfrage:
SELECT A.Tag
, B.Stunde
, B.Start
FROM Tag A
INNER JOIN Stunde B
ON B.idTag = A.idTag
Ergebnis: Tag Stunde Start
Mo Mathe 8
Mo Chemie 9
Mi Mathe 8
Mi Deutsch 10
Fr Mathe 11
Fr Chemie 12
Abfrage:
SELECT A.Tag
, B.Stunde
, B.Start
FROM Tag A
LEFT OUTER JOIN Stunde B
ON B.idTag = A.idTag
Ergebnis: Tag Stunde Start
Mo Mathe 8
Mo Chemie 9
Di NULL NULL
Mi Mathe 8
Mi Deutsch 10
Do NULL NULL
Fr Mathe 11
Fr Chemie 12
Abfrage:
SELECT A.Tag
, B.Stunde
, B.Start
FROM Tag A
RIGHT OUTER JOIN Stunde B
ON B.idTag = A.idTag
Ergebnis: Tag Stunde Start
Mo Mathe 8
Mo Chemie 9
Mi Mathe 8
Mi Deutsch 10
Fr Mathe 11
Fr Chemie 12
NULL Fehler 0
Abfrage:
SELECT A.Tag
, B.Stunde
, B.Start
FROM Tag A
FULL OUTER JOIN Stunde B
ON B.idTag = A.idTag
Ergebnis: Tag Stunde Start
Mo Mathe 8
Mo Chemie 9
Di NULL NULL
Mi Mathe 8
Mi Deutsch 10
Do NULL NULL
Fr Mathe 11
Fr Chemie 12
NULL Fehler 0
Gruß
Tim Leuschner Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
|