Mysql Outer Join

Mysql Outer Join

MySQL bietet viele Befehle, die beim Verwalten einer Datenbank benötigt werden. Zum Beispiel müssen wir häufig einige Daten aus verschiedenen Tabellen basierend auf einer Bedingung erhalten. MySQL bietet dann verschiedene Arten von Verbindungen, um die gewünschten Ergebnisse zu erzielen. Lassen Sie uns links gelernt und rechtzeitig mit MySQL mittreiben.

Es gibt keine solche Anweisung wie eine vollständige äußere Verbindung in SQL, aber wir können einen einfachen Join verwenden, um die gleichen Ergebnisse zu erzielen oder einfach eine ausgewählte Anweisung über zwei verschiedene Tabellen zu verwenden.

Ansonsten bietet MySQL Links Join Und Right Join Um die Datensätze oder Zeilen aus der rechten bzw. linken Tabelle zu erhalten. Probieren wir einige verschiedene Beispiele aus, um die gewünschten Ergebnisse mit geeigneten Zusammenstellungen zu erhalten.

Beispiele

Bevor wir anfangen, die Verwendung von links und rechts zu lernen. Wir werden lernen, wie Sie alle Daten aus beiden Tabellen (entweder oder ungewöhnlich) mit der einfachen Auswahlanweisung und mit der Cross -Join mit der Auswahlanweisung erhalten können. Versuchen wir zunächst, alle Daten aus beiden Tabellen mithilfe der Auswahlanweisung zu erhalten.

Zum Beispiel gibt es 2 Tabellen, die wir mit dem Namen des Autors und der Bücher erhalten haben.

Desc -Bücher; Desc -Autoren;

Wenn wir alle Spalten aus beiden Tabellen holen wollen. Die Auswahlabfrage wird so verwendet:

Wählen Sie * aus Büchern, Autoren;

Wie Sie sehen können, haben wir alle Spalten aus beiden Tischen, ohne nur einen Zustand zu liefern.

Wenn wir die Klausel Join oder Cross -Join verwenden, bringen uns beide die gleichen Ergebnisse. Zum Beispiel:

Wählen Sie * aus den Büchern, die sich Autoren anschließen;

Lassen Sie uns nun versuchen, das Cross -Join anzuwenden:

Wählen Sie * aus Büchern Cross Join -Autoren;

Wie Sie beobachten können, bringen uns all diese Fragen die gleichen Ergebnisse.

Es ist jedoch nicht gut, alle Spalten in einer solchen abstrakten Form zu haben. Um also ein paar spezifische Spalten aus der linken oder rechten Tabelle zu erhalten, gibt es zwei Möglichkeiten, wie Sie vorgehen können. Eine Möglichkeit besteht darin, dass Sie Spaltennamen verwenden, die ausgewählte Anweisungen ausgewählten oder mit Verbindungen verwenden, die zu Ihren Anforderungen entsprechen.

Okay, jetzt gehen wir vorwärts, um die linke Verbindung zu verstehen und richtig zu beitreten.

Links Join

Nehmen wir an, dass wir einige spezifische Spalten erhalten möchten, die entweder aus der Büchertabelle oder zwischen den Büchern und den Autorentabellen gemeinsam sind. Basierend auf einer bestimmten Bedingung wird die Bedingung tatsächlich durch Vergleich von zwei verschiedenen Tabellen bereitgestellt. Zum Beispiel möchten wir zwei Tische, Bücher und Autoren anschließen, bei denen die ID des Buches der ID des Autors entspricht. Wir können ein solches Ergebnis erwarten, indem wir den linken Join mit SELECT -Anweisung verwenden. Wählen Sie Abfrage mit den Spaltennamen, die Sie entweder aus der Büchertabelle oder den Autoren erhalten möchten. Die Auswahlabfrage mit dem linken Join und dem Zustand wäre wie folgt:

Bücher auswählen.book_name, Bücher.book_id, Autoren.Autor_id,
Autoren.Author_fname, Autoren.Autor_lname
Aus Büchern
Links Join Autoren
Auf Bücher.book_id = Autoren.Autor_id;

Da wir die Büchertabelle auf der linken Seite erwähnt haben, erhält der Join die ID einer Zeile aus der Büchertabelle und sucht nach derselben ID -Nummer in der Tabelle des Autors. Wenn es die gleiche ID -Nummer findet, werden auch die angegebenen Spalten aus der Tabelle des Autors angezeigt. Andernfalls werden Null in den Spalten der Tabelle des Autors angezeigt. Lassen Sie uns diese Anfrage ausführen und die Ergebnisse beobachten.

Wie Sie sehen können, haben wir die Zeilen aus beiden Tischen, in denen die Tabellen -ID der Bücher der Tabellen -ID des Autors entspricht. In der letzten Zeile können wir auch sehen, dass es in der Tabelle des Autors keine ID -Nummer 4 gibt, daher hat es Null gegen sie zurückgegeben.

Right Join

In ähnlicher Weise können diese Art von Ergebnis. Die Auswahlabfrage mit dem richtigen Join und dem richtigen Zustand wäre wie folgt:

Bücher auswählen.book_name, Bücher.book_id, Autoren.Autor_id,
Autoren.Author_fname, Autoren.Autor_lname
Aus Büchern
Right Yectry -Autoren
Auf Bücher.book_id = Autoren.Autor_id;

Diesmal wissen wir, dass sich die Tabelle der Autoren auf der rechten Seite befindet. Der Join erhält also die ID einer Zeile aus der Tabelle des Autors und sucht nach derselben ID -Nummer in der Tabelle des Buches. Wenn es die gleiche ID -Nummer findet, werden die angegebenen Spalten aus der Büchertabelle angezeigt. Die Ausführung der Abfrage würde dazu führen:

Wie Sie sehen können, haben wir die Zeilen aus beiden Tischen, in denen die ID des Autors der ID des Buches entspricht. Wir wissen, dass es ein viertes Buch in der Büchertisch gab, obwohl wir es nicht verstanden haben, ist dies an der richtigen Beitritts.

So funktioniert der linke Join und der richtige Beitritt zum Linken wirklich.

Abschluss

Wir haben das Kreuz, das linke und den richtigen Beitritt gelernt und verstanden und gelernt, sie zu verwenden, um die gewünschten Ergebnisse in MySQL zu erzielen. Wir haben auch ein paar verschiedene Beispiele für Verbindungen ausprobiert, um die Konzepte besser und tiefgreifend zu verstehen.