Frage Was ist der Unterschied zwischen INNER JOIN, LINKER JOIN, RECHTER JOIN und FULL JOIN? [Duplikat]


Diese Frage hat hier bereits eine Antwort:

Was ist der Unterschied zwischen INNER JOIN, LEFT JOIN, RIGHT JOIN und FULL JOIN  im MySQL?


1201
2018-04-18 17:15


Ursprung


Antworten:


Lesen Sie diesen Originalartikel auf Das Code-Projekt wird dir sehr helfen: Visuelle Darstellung von SQL-Joins.

alt text

Überprüfen Sie auch diesen Beitrag: SQL SERVER - Bessere Leistung - LINKS VERBINDEN oder NICHT?.

Finde das Original bei: Unterschied zwischen JOIN und OUTER JOIN in MySQL.


2491
2018-05-31 13:29



INNERES VERBINDEN ruft alle Datensätze ab, die auf der Grundlage des Fremdschlüssels zwischen beiden Tabellen vorhanden sind

LINKE VERBINDUNG ruft alle Datensätze aus der LINKEN verknüpften Tabelle ab. Wenn Sie jedoch einige Spalten aus der RECHTEN Tabelle ausgewählt haben, enthalten diese Spalten NULL, wenn keine zugehörigen Datensätze vorhanden sind

RECHT JOIN ist wie oben, erhält aber alle Datensätze in der RECHTEN Tabelle

VOLLSTÄNDIGER JOIN ruft alle Datensätze aus beiden Tabellen ab und setzt NULL in die Spalten, in denen keine verwandten Datensätze in der gegenüberliegenden Tabelle vorhanden sind


530
2018-04-18 20:28



Eine SQL JOIN-Klausel wird verwendet, um Zeilen aus zwei oder mehr Tabellen zu kombinieren.   basierend auf einem gemeinsamen Feld zwischen ihnen.

Es gibt verschiedene Arten von Joins, die in SQL verfügbar sind:

INNERES VERBINDEN: gibt Zeilen zurück, wenn in beiden Tabellen eine Übereinstimmung vorliegt.

LINKE VERBINDUNG: gibt alle Zeilen aus der linken Tabelle zurück, auch wenn in der rechten Tabelle keine Übereinstimmungen vorhanden sind.

RECHT JOIN: gibt alle Zeilen aus der rechten Tabelle zurück, auch wenn in der linken Tabelle keine Übereinstimmungen vorhanden sind.

VOLLSTÄNDIGER JOIN: Es kombiniert die Ergebnisse der linken und rechten äußeren Verbindungen.

Die verbundene Tabelle enthält alle Datensätze aus beiden Tabellen und füllt NULL für fehlende Übereinstimmungen auf beiden Seiten aus.

SELF JOIN: wird verwendet, um eine Tabelle mit sich selbst zu verknüpfen, als ob die Tabelle aus zwei Tabellen besteht, wobei mindestens eine Tabelle in der SQL-Anweisung vorübergehend umbenannt wird.

KARTESISCHER JOIN: gibt das kartesische Produkt der Sätze von Datensätzen aus den zwei oder mehr verbundenen Tabellen zurück.

Wir können die ersten vier Joins in Details nehmen:

Wir haben zwei Tabellen mit folgenden Werten.

TabelleA

id  firstName                  lastName
.......................................
1   arun                        prasanth                 
2   ann                         antony                   
3   sruthy                      abc                      
6   new                         abc                                           

TabelleB

id2 age Place
................
1   24  kerala
2   24  usa
3   25  ekm
5   24  chennai

.................................................. ..................

INNERES VERBINDEN

Hinweis : Es gibt den Schnittpunkt der zwei Tabellen, d. h. Zeilen, die sie in Tabelle A und Tabelle B gemeinsam haben

Syntax

SELECT table1.column1, table2.column2...
FROM table1
INNER JOIN table2
ON table1.common_field = table2.common_field;

Wenden Sie es in unserer Beispieltabelle an:

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
FROM TableA
INNER JOIN TableB
ON TableA.id = TableB.id2;

Ergebnis wird sein

firstName       lastName       age  Place
..............................................
arun            prasanth        24  kerala
ann             antony          24  usa
sruthy          abc             25  ekm

LINKE VERBINDUNG

Hinweis : gibt alle ausgewählten Zeilen in TabelleA sowie alle gemeinsam ausgewählten Zeilen in TabelleB an.

Syntax

SELECT table1.column1, table2.column2...
FROM table1
LEFT JOIN table2
ON table1.common_field = table2.common_field;

Wenden Sie es in unserer Beispieltabelle an:

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
FROM TableA
LEFT JOIN TableB
ON TableA.id = TableB.id2;

Ergebnis

firstName                   lastName                    age   Place
...............................................................................
arun                        prasanth                    24    kerala
ann                         antony                      24    usa
sruthy                      abc                         25    ekm
new                         abc                         NULL  NULL

RECHT JOIN

Hinweis : Gibt alle ausgewählten Zeilen in Tabelle B sowie alle gemeinsam ausgewählten Zeilen in Tabelle A an.

Syntax

SELECT table1.column1, table2.column2...
FROM table1
RIGHT JOIN table2
ON table1.common_field = table2.common_field;

Wenden Sie es in unserer Beispieltabelle an:

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
FROM TableA
RIGHT JOIN TableB
ON TableA.id = TableB.id2;

Ergebnis

firstName                   lastName                    age     Place
...............................................................................
arun                        prasanth                    24     kerala
ann                         antony                      24     usa
sruthy                      abc                         25     ekm
NULL                        NULL                        24     chennai

VOLLSTÄNDIGER JOIN

Hinweis : Es werden alle ausgewählten Werte aus beiden Tabellen zurückgegeben.

Syntax

SELECT table1.column1, table2.column2...
FROM table1
FULL JOIN table2
ON table1.common_field = table2.common_field;

Wenden Sie es in unserer Beispieltabelle an:

SELECT TableA.firstName,TableA.lastName,TableB.age,TableB.Place
FROM TableA
FULL JOIN TableB
ON TableA.id = TableB.id2;

Ergebnis

firstName                   lastName                    age    Place
...............................................................................
arun                        prasanth                    24    kerala
ann                         antony                      24    usa
sruthy                      abc                         25    ekm
new                         abc                         NULL  NULL
NULL                        NULL                        24    chennai

Interessante Tatsache

Für INNER Joins spielt die Reihenfolge keine Rolle

Für (LINKS, RECHTS oder VOLL) OUTER Joins ist die Bestellung wichtig

Besser, das zu überprüfen Verknüpfung es wird Ihnen interessante Details über die Join-Reihenfolge geben


493
2018-02-25 12:40