Announcement

Collapse
No announcement yet.

JOIN

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JOIN

    Hi Leute, <br><br>
    seit kurzem experementiere ich etwas mit SQL herrum. Als erstes habe ich einmal eine grundsätzliche Frage:
    <b>Was ist der Unterschied zweischen "JOIN", "INNER JOIN" und "OUTER JOIN"?</b> Meine Lektüre habe ich nicht verstanden ;-) und durch ausprobieren habe ich auch keinen Unterschied feststellen können.<br><br>
    Und dann habe ich noch ein konkretes Problem: <b> Ich habe eine Tabelle (z. B. Lager, Verkäufernr, PLZ) und zwei normalisierte DatenTabellen (z.B. VerkäuferTBL mit Verkäufernr und Verkäufername und OrtTBL mit PLZ und Ort) leider sind die Tabellen nicht 100% normalisiert so das unter der gleichen PLZ mehrere (gleiche) Orte vorkommen können. Wie erreiche ich das mir alle Sätze meiner Datentabelle mit den Angaben der normalisierten Tabellen angezeigt werden (immer der erste gefundene Satz der Hilfstabellen), aber nur pro Satz der Datentabelle einen Satz. </b> Wenn ich das mit Join versuche, werden mir immer doppelte Sätze ausgegeben, da die beiden Hilfstabellen nicht gut normalisiert sind.
    <br><br>
    Danke erst mal CU Frank

  • #2
    Hallo,

    die Angabe JOIN ist nur eine abgekürzte Schreibweise für einen INNER JOIN, bei dem nur die Datensätze in der Ergebnismenge enthalten sind, die in beiden Tabellen vorkommen. Im Gegensatz dazu enthählt ein OUTER JOIN in der Ergebnismenge auch die Datensätze, die nur ein einer der miteinander verbundenen Tabellen vorkommen. Über die Angaben LEFT OUTER JOIN, RIGHT OUTER JOIN oder FULL OUTER JOIN legt man fest, welche Tabellen in jedem Fall berücksichtigt werden sollen.

    Über SELECT DISTINCT berücksichtigt die Datenbank nur eindeutige Datensätze in der Ergebnismenge

    Comment

    Working...
    X