Was ist der Unterschied zwischen LEFT JOIN
y LEFT OUTER JOIN
?
Damit ist die Frage nicht beantwortet.
Was ist der Unterschied zwischen LEFT JOIN
y LEFT OUTER JOIN
?
Ich finde es einfacher, sich Joins in der folgenden Reihenfolge vorzustellen:
Bis ich dieses (relativ) einfache Modell herausfand, waren JOINS immer eine eher schwarze Kunst. Jetzt machen sie absolut Sinn.
Ich hoffe, das hilft mehr, als dass es verwirrt.
Um Ihre Frage zu beantworten
In der Syntax von Sql Server joins OUTER ist freigestellt
Dies wird im msdn-Artikel erwähnt: https://msdn.microsoft.com/en-us/library/ms177634(v=sql.130).aspx
Die folgende Liste zeigt also die Join-Äquivalenzsyntaxen mit und ohne OUTER
LEFT OUTER JOIN => LEFT JOIN
RIGHT OUTER JOIN => RIGHT JOIN
FULL OUTER JOIN => FULL JOIN
Andere gleichwertige Syntaxen
INNER JOIN => JOIN
CROSS JOIN => ,
Dotnet Mob Artice dringend empfehlen: Verknüpfungen in Sql Server
Warum sind LEFT/RIGHT und LEFT OUTER/RIGHT OUTER dasselbe? Lassen Sie uns erklären, warum dieses Vokabular. Verstehen Sie, dass LEFT- und RIGHT-Joins Sonderfälle des OUTER-Joins sind und daher nichts anderes sein können als OUTER LEFT/OUTER RIGHT. Der OUTER-Join wird auch als FULL OUTER im Gegensatz zu LEFT- und RIGHT-Joins, die PARTIAL Ergebnisse des OUTER join. In der Tat:
Table A | Table B Table A | Table B Table A | Table B Table A | Table B
1 | 5 1 | 1 1 | 1 1 | 1
2 | 1 2 | 2 2 | 2 2 | 2
3 | 6 3 | null 3 | null - | -
4 | 2 4 | null 4 | null - | -
null | 5 - | - null | 5
null | 6 - | - null | 6
OUTER JOIN (FULL) LEFT OUTER (partial) RIGHT OUTER (partial)
Jetzt ist klar, warum diese Vorgänge Aliase haben, und es ist auch klar, dass es nur 3 Fälle gibt: INNER, OUTER, CROSS. Mit zwei Unterfällen für die OUTER. Das Vokabular, die Art und Weise, wie Lehrer dies erklären, sowie einige Antworten oben, lassen es oft so aussehen, als gäbe es viele verschiedene Arten von Verknüpfungen. Aber eigentlich ist es sehr einfach.
"Es ist klar, dass es nur 3 Fälle gibt": interessant, aber fehlerhaft. Bedenken Sie, dass ein Inner Join ein spezialisierter Cross Join ist (d.h. Join-Prädikate in die Where-Klausel verschieben). Bedenken Sie außerdem, dass ein Outer Join überhaupt kein Join ist, sondern eine Union, bei der Nullen anstelle von "fehlenden" Spalten verwendet werden. Daher könnte man argumentieren, dass der Cross-Join der einzige erforderliche Join ist. In der relationalen Theorie wird derzeit davon ausgegangen, dass der natürliche Join alle Join-Anforderungen erfüllt. Nebenbei: Können Sie erklären, ob/wie das Vokabular " JOIN
impliziert INNER JOIN
" zu Ihrer Argumentation für outer join vocab passt?
C) Äußere Verknüpfung:
There are three type of outer join
1) Left Outer Join = Left Join
2) Right Outer Join = Right Join
3) Full Outer Join = Full Join
Ich hoffe, es hilft Ihnen.
Es gibt hauptsächlich drei Arten von JOIN
Äußeres: Es gibt drei Arten
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
342 Stimmen
Keine! Die
OUTER
Schlüsselwort ist optional.30 Stimmen
Venn-Diagramme sind für die Beantwortung dieser Frage nicht geeignet. Die Antwort auf diese Frage lautet Keine . Siehe den ersten Kommentar.
7 Stimmen
Venn-Diagramme veranschaulichen die Differenz der Ausgangszeilen para Sonderfälle de innere vs. äußere Verknüpfung . Wenn keine Nullen oder doppelten Zeilen eingegeben werden (so können wir eine Tabelle als eine Menge von zeilenbewerteten Werten betrachten und normale mathematische Gleichheit verwenden) dann enthalten die linken und rechten Kreise die Ausgabetabellen/-mengen der linken und rechten Verknüpfung . Wenn jedoch Nullen oder doppelte Zeilen eingegeben werden, ist es so schwierig zu erklären, woraus die Kreise bestehen und wie sich diese Kreise zu den Ein- und Ausgabetabellen/-taschen verhalten, dass Venn-Diagramme nicht hilfreich sind. Siehe meine Kommentare zu anderen Missbräuchen des Venn-Diagramms hier.
0 Stimmen
Diejenigen, die hierher kamen, um
PostgreSQL
ist die Antwort dieselbe: Keine ! Die das Wort OUTER ist optional