Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kann mir einer "Joins" erklären? (https://www.delphipraxis.net/24385-kann-mir-einer-joins-erklaeren.html)

Urmel 20. Jun 2004 12:24


Kann mir einer "Joins" erklären?
 
Hallo Programmierer,

kann mir mal einer genau erklären wie Joints verwendet werden und was sie machen? Ich peile das nicht :wall:

danke

Phoenix 20. Jun 2004 12:34

Re: Kann mir einer "Joints" erklären?
 
Hallo Urmel.

Erstmal herzlich willkommen in der DP.

Erm... Joints findest Du hier wahrscheinlich gar nicht. Das ist nämlich das Zeug was die Kiffer immer nehmen ;-) Die werden geraucht und machen einen Hi.

Wenn Du hingegen JOINS meinst, dann sind das Verknüpfungen mehrerer Datenbanktabellen. ;-)

Beispiel: Du hast in einer Datenbanktabelle (Hersteller) die Felder Automarke, Hersteller und Herstelleradresse.
In einer anderen Tabelle (Fahrzeuge) hast Du Fahrzeughalter, Fahrzeugmarke und Fahrzeugtyp.

Dann kannst Du mit einer Abfrage alle Daten zusammen'joinen' - also Verknüpfen:

Code:
SELECT * FROM Fahrzeuge JOIN Hersteller ON Fahrzeuge.Fahrzeugmarke = Hersteller.Automarke
Als Ergebnis bekommst Du nun zuersteinmal alle Datensätze aus der Tabelle Fahrzeuge. An jeden einzelnen dieser Sätze ist nun der (oder die, mehrere können auch möglich sein, aber nicht in diesem Beispiel) Datensatz aus der Tabelle Hersteller angehängt, der im Feld Automarke den gleichen Wert stehen hat wie in der ersten Tabelle im Feld Fahrzeugmarke steht.

Leuselator 20. Jun 2004 13:38

Re: Kann mir einer "Joints" erklären?
 
Joints sind transzendent. Joins manchmal auch. :mrgreen:
bastel an einem Mini-Tut - stay tuned
Gruß

Urmel 20. Jun 2004 13:38

Re: Kann mir einer "Joints" erklären?
 
Hallo Phoenix,

danke für die erklärung. Jetzt kenne ich auch gleich den Unterschied zwichen Joints und Joins :firejump:

Weisst Du auch was es mit Left-Join, Right-Joint, Inner-Joint, Outer-Join zu tun hat?

Nicodius 20. Jun 2004 14:20

Re: Kann mir einer "Joints" erklären?
 
sorry wie alt bist du was joints sind wusstest du doch sicher oder :roll:

Leuselator 20. Jun 2004 16:01

Re: Kann mir einer "Joints" erklären?
 
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ß

Neuni 20. Jun 2004 16:28

Re: Kann mir einer "Joints" erklären?
 
Änder doch am besten dann mal den Titel von 'Joints' zu 'Joins' :wink:

Urmel 20. Jun 2004 17:46

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

Zitat von Nicodius
sorry wie alt bist du was joints sind wusstest du doch sicher oder :roll:

Ich glaube mit meinen 30 Jahren weiss ich was ein Joint ist. Wie alt bist du das Du keinen Scherz erkennst? ;-) (auch das ist ein scherz!)

Danke Leuselator! Ich glaube ich habe es verstanden :-D

Den Titel habe ich jetzt auch geändert! Danke Sharky für die Erklärung wie ich das machen muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz