phpbar.de logo

Mailinglisten-Archive

[php] join

[php] join

Ithamar Garbe garbe_(at)_gmx.de
Fri, 06 Oct 2000 16:08:26 +0200


Andreas Filz wrote:

> trotz des mysql handbuches auf little-idiot.de verstehe ich die join
> funktion nicht so recht,da ich dort php kein beispiel fuer eine
> verknuepfte tabelle mit abfrage gefunden hatte. kann mir jemand
> erklaeren wie eine solche abfrage aufgebaut ist?

Hi,

mit der Join-Funktion verknüpfst du zwei Tabellen.
Beispielsweise hast du eine Tabelle mit Kundendaten:

kunden
--------
ID | Vorname | Name
----------------------
1   | Hans       | Meier
2   | Fritz        | Müller
...

Dann hast du zum Beispiel noch eine zusätzliche Tabelle für die weiteren
Daten. Diese hast du ausgelagert in "kundendaten", weil du diese nur
selten brauchst und das so einige Geschwindigkeitsvorteile bringt:

kundendaten
---------
ID | strasse | plz | ort
-----------------------------
1    | Teststr.1 | 12354 | Testhausen
2    | Strasse 4 | 81232 | Null-Ort
...

Das ganze ist gut und schön. Allerdings möchtest du vielleicht mal einen
Bericht über die Kundendaten machen, wobei eben Vorname, Name UND
Strasse, PLZ etc aufgeführt sind.

Dazu machst du einen JOIN:

SELECT * FROM kunden JOIN kundendaten USING(id);

Also zur Beschreibung:
SELECT * FROM kunden dürfte klar sein -> Alle Datensätze aus der Tabelle
"kunden" werden ausgelesen.
Dann kommt der interessante Teil:
Du verbindest durch das JOIN die Tabelle "kunden" mit der Tabelle
"kundendaten", und zwar dort, wo die beiden "ID"-Felder gleich sind
(USING(id)).
Damit wird z.B. für Hans Meier als Zusatzdaten ausgelesen: "Teststr. 1,
12345 Testhausen ..."

Am Ende sieht das so aus:

SELECT * FROM kunden JOIN kundendaten USING(id);
id | vorname | name | strasse | plz | ort
--------------------------------------
1 | Hans       | Meier | Teststr.1 | 12345 | Testhausen
....

Damit steht also eine virtuelle Tabelle, die sich aus den beiden realen
Tabellen zusammensetzt...

Uff, ich hab jetzt aber viel gelabert *ggg*
Hoffe, es hat was genützt und ich habe helfen können....

Cu,
Ithamar Garbe



php::bar PHP Wiki   -   Listenarchive