AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi sQL Join ?? wie gehts?

sQL Join ?? wie gehts?

Ein Thema von SQLNoop · begonnen am 20. Mär 2008 · letzter Beitrag vom 21. Mär 2008
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

Re: sQL Join ?? wie gehts?

  Alt 21. Mär 2008, 21:22
Zitat von SQLNoop:
wunderbar es funktioniert... nur das statement kapiere ich nicht
Na das ist nicht so schwer.
Wenn man schreibt:
TabA LEFT OUTER JOIN TabB ON TabA.IdFeld1=TabB.IdFeld1 dann bekommt am ALLE Datensätze von TabA verknüpt mit den Datensätzen von TabB.
Falls in TabB kein passender Datensatz, dann sind die Felder von Tab = NULL.
Das ist übrigens das Gleiche wie:
TabB RIGHT OUTER JOIN TabA ON TabA.IdFeld1=TabB.IdFeld1 Ich verwende immer LEFT Outer Join, dass finde ich leichter nachzuvollziehen.

Nachdem wir TabA und TabB verjoined haben, kommt eine dritte Tabelle ins Spiel
SQL-Code:
(TabA LEFT OUTER JOIN TabB ON TabA.IdFeld1=TabB.IdFeld1)
LEFT OUTER JOIN TabC ON TabB.IdFeld2 = TabC.IdFeld2
Das heisst also bei Joins werden immer 2 Tabellen verknüpft; kommt eine weitere Tabelle hinzu,
wird das bisherige Ergebnis geklammert (nur bei Access!) und man "joind" die 3. Tabelle hinzu.

Die Klammersetzung ist nur bei Access notwendig; andere DBMS sind intelligenter und ermitteln die optimale Verknüpfungsreihenfolge selber.
Es macht durchaus einen Unterschied in welcher Reihenfolge man Tabellen verknüpt.
Das End-Ergebnis bleibt gleich,aber die Zwischenergebnisse unterscheiden sich - es gibt eine optimale Reihenfolge, bei der die Speicherbelastung am gringsten ist.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz