Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#6

Re: Kann mir einer "Joints" erklären?

  Alt 20. Jun 2004, 16: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...
  Mit Zitat antworten Zitat