Beide Verknüpfungen führen zu denselben Ergebnissen:
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
vs.
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
Gibt es einen Unterschied zwischen den Aussagen in Bezug auf die Leistung oder auf andere Weise?
Unterscheidet es sich zwischen verschiedenen SQL- Implementierungen?
sql
sql-server
join
inner-join
driis
quelle
quelle
Antworten:
Sie sind funktional gleichwertig,
INNER JOIN
können jedoch etwas klarer zu lesen sein, insbesondere wenn in der Abfrage andere Verknüpfungstypen (dhLEFT
oderRIGHT
oderCROSS
) enthalten sind.quelle
Nein, es gibt keinen Unterschied, reiner syntaktischer Zucker .
quelle
INNER
unter diese Definition fällt.INNER
nicht nicht macht die Abfrage leichter zu lesen. Soweit ich weiß,JOIN
könnte das durchaus bedeuten,LEFT JOIN
wenn die Antworten hier nicht aufklären würden.INNER JOIN = JOIN
ODER
quelle
Ja, Microsoft Access erlaubt nicht nur
join
. Es erfordertinner join
.quelle
Ähnlich
OUTER JOINs
ist das Wort"OUTER"
mit optional. Es ist das SchlüsselwortLEFT
oderRIGHT
, das dasJOIN
an macht"OUTER" JOIN
.Aus irgendeinem Grund benutze ich jedoch immer
"OUTER"
wie inLEFT OUTER JOIN
und nieLEFT JOIN
, aber ich benutze nie , sondern ich benutzeINNER JOIN
nur"JOIN"
:quelle
Wie in den anderen Antworten bereits angegeben, gibt es in Ihrem Beispiel keinen Unterschied.
Die relevante Grammatik ist hier dokumentiert
Zeigen, dass alle optional sind. Die Seite verdeutlicht dies weiter
Die Grammatik funktioniert zeigt auch , dass es eine Zeit ist , wo das
INNER
ist allerdings erforderlich. Bei Angabe eines Join-Hinweises.Siehe das folgende Beispiel
quelle