PDA

Vollständige Version anzeigen : Outer-Joins



Beamer
12.07.08, 00:22
Hallo!

Ich bin leider immer noch nicht dahinter gekommen, wo der Unterschied zwischen LEFT JOIN und LEFT OUTER JOIN ist.

Meine Beispiel-Tabellen:


+----+-------------+-----------+ +-----+-----------------+---------+
| id | bez | lieferant | | id | firma | ort |
+----+-------------+-----------+ +-----+-----------------+---------+
| 1 | Schraube | 101 | | 101 | Metall-Meier | Berlin |
| 2 | U-Scheibe | 101 | | 102 | Elektro-Schule | München |
| 3 | Stecker | 102 | | 104 | Aluwaren Müller | Hamburg |
| 4 | Kondensator | 103 | +-----+-----------------+---------+
+----+-------------+-----------+

Sowohl
SELECT * FROM artikel LEFT JOIN lieferanten ON artikel.lieferant=lieferanten.id AND lieferanten.ort='Berlin'
als auch
SELECT * FROM artikel LEFT OUTER JOIN lieferanten ON artikel.lieferant=lieferanten.id AND lieferanten.ort='Berlin'
liefern mir:


+----+-------------+-----------+------+--------------+--------+
| id | bez | lieferant | id | firma | ort |
+----+-------------+-----------+------+--------------+--------+
| 1 | Schraube | 101 | 101 | Metall-Meier | Berlin |
| 2 | U-Scheibe | 101 | 101 | Metall-Meier | Berlin |
| 3 | Stecker | 102 | NULL | NULL | NULL |
| 4 | Kondensator | 103 | NULL | NULL | NULL |
+----+-------------+-----------+------+--------------+--------+

Oder habe ich den Einsatzzweck nicht verstanden? Bin für weitere/bessere Beispiele dankbar! :cool:

Gruß

Michael

CSe
12.07.08, 13:20
Ich habe irgendwie dunkel in Erinnerung (die DB-Vorlesung ist schon ein paar Jahre her), dass die beiden identisch sein müssten. Zumindest http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/chap7.htm#leftjoin scheint das zu bestätigen.

Beamer
13.07.08, 10:51
Danke! Die Übersicht sieht recht gut aus, nach so etwas habe ich gesucht!

Michael