Die SQLite Grammatik ist ein wenig verschieden von the SQL-92 spec ‚s, nach denen, die folgende sind illegal:
*OUTER JOIN
*NATURAL OUTER JOIN
*NATURAL CROSS JOIN
Die ersten beiden, weil ein <join type>
, um OUTER
, enthalten auch eine enthalten muss <outer join type>
davor. Die letzte, weil NATURAL
kann nur in <qualified join>
's, nicht <cross join>
' s auftreten. Diese scheinen sich nicht gemäß irgendeiner Spezifikation zu verhalten, daher ist es eine gute Idee, sie zu vermeiden.
Wie auf the mailing list beantwortet wurde, nur SQLite3 unterstützt drei verbindet: CROSS JOIN
, INNER JOIN
und LEFT OUTER JOIN
. Die folgenden sind äquivalent:
, == CROSS JOIN
JOIN == INNER JOIN
LEFT JOIN == LEFT OUTER JOIN
Wie in the wikipedia article die natürliche Schlüsselwort Stenografie für die Suche nach und passend auf same-name Spalten ist, und beeinflusst nicht die der Join-Typ.
Nach dem SQLite page, 'RIGHT
' und 'FULL
' OUTER JOIN
‚s werden nicht unterstützt.
Keine RIGHT OUTER oder FULL OUTER Unterstützung? –
Nein, und lassen Sie mich das explizit hinzufügen, danke. –