MySQL-Outer-Join-Tutorial

January 10

Outer-Joins verbinden zwei oder mehr Tabellen in einer Weise, dass einige Spalten NULL-Werte enthalten darf. MySQL trennt OUTER JOINS in Links oder rechts schließt sich je nachdem, welche Tabelle die unübertroffenen Daten bereitstellt. In einem LEFT JOIN werden die nicht übereinstimmenden Datensätzen aus der Tabelle auf der linken Seite der JOIN-Klausel zurückgegeben. In einem RIGHT JOIN werden die nicht übereinstimmenden Datensätzen aus der Tabelle auf der rechten Seite der JOIN-Klausel zurückgegeben.

Links und rechts schließt sich

MySQL liest die Tabellen in der Reihenfolge von der JOIN-Klausel bestimmt. Im linken Verknüpfungen wird die linke Tabelle vor der rechten Tabelle gelesen. In richtigen Verknüpfungen ist die Rechte Tabelle lesen, bevor Sie Links. Alle Daten aus der Tabelle, die zuerst gelesen wird zurückgegeben und dann die Daten aus der zweiten Tabelle abgestimmt ist. Alle nicht übereinstimmenden Datensätzen werden mit NULL-Werten zurückgegeben.Die Beispiele werden die folgenden zwei Tabellen verwenden:

AdresseFname Lname Staddress zipKris meistert 635 überall Ave 17598Steve Milano 503 St. anderswo 17989James Teeney 379 Kensington Ct 98539PAM Buffy 501 W 69. St 80907

PostleitzahlStadt-Staat-zipLancaster PA 17989Wiconisco PA 17598Orange CA 80907New York NY 50648

Für einen LEFT-JOIN-Syntax lautet:

Wählen SIE Fname, Lname, Staddress, Ort, Bundesland, zip.zipcode aus Adresse LEFT JOIN Zipcode mit (Zip);

Diese Abfrage würde die folgenden Ergebnisse zurück:

Kris | Masters | 635 überall Ave | Wiconisco | PA | 17598 || Steve | Milano | 503 St. Elsewhere | Lancaster | PA | 17989 || PAM | Buffy – Im Bann | 501 W 69. St | Orange | CA | 80907| James | Teeney | 379 Kensington Ct | NULL | NULL | NULL |

Wie Sie sehen können, alle Datensätze aus der linken Tabelle (Adresse) werden zurückgegeben, mit NULL-Werten für die fehlenden Datensätze aus der rechten Tabelle (Zipcode).

Die Syntax für eine RIGHT JOIN-Anweisung lautet:

Wählen SIE Fname, Lname, Staddress, Ort, Bundesland, zip.zip aus Adresse RIGHT JOIN Zipcode mit (Zip)GEHEN

Die würden alle Werte aus der rechten Tabelle (Postleitzahl) mit NULL-Werten für die fehlenden Daten aus der Tabelle zurück.Kris | Masters | 635 überall Ave | Wiconisco | PA | 17598 || Steve | Milano | 503 St. Elsewhere | Lancaster | PA | 17989 || PAM | Buffy – Im Bann | 501 W 69. St | Orange | CA | 80907| NULL | NULL | NULL | New York | NY | 50648 |

Sie können das Wort "OUTER" für ODBC (Open Database Connectivity) für Anwendungen von Drittanbietern bereitstellen, aber dies ist optional aus der MySQL-Sicht. Dann wäre die Syntax:

Wählen SIE Fname, Lname, Staddress, Ort, Bundesland, zip.zipcode aus Adresse LEFT OUTER JOIN Zipcode mit (Zip);