gramatykę SQLite różni się nieco od the SQL-92 spec „S, zgodnie z którym w następujących jest nielegalna:
*OUTER JOIN
*NATURAL OUTER JOIN
*NATURAL CROSS JOIN
Pierwsze dwa, ponieważ <join type>
w celu ograniczenia OUTER
muszą również zawierać <outer join type>
przed tym. Ostatni, ponieważ NATURAL
może wystąpić tylko w <qualified join>
, a nie <cross join>
. Wygląda na to, że nie zachowują się zgodnie z żadną specyfikacją, więc warto ich unikać.
Jak odpowiedział na the mailing list, SQLite3 obsługuje tylko trzy przyłącza: CROSS JOIN
, INNER JOIN
i LEFT OUTER JOIN
. Poniższy są równoważne:
, == CROSS JOIN
JOIN == INNER JOIN
LEFT JOIN == LEFT OUTER JOIN
Jak wyjaśniono w the wikipedia article naturalnego kluczowe jest skrótem znalezienie i dopasowanie kolumn tej samej nazwie, a nie wpływa na rodzaj łączenia.
Według SQLite page, 'RIGHT
' i 'FULL
' OUTER JOIN
„s nie są obsługiwane.
Brak wsparcia z zewnątrz lub z PEŁNĄ ZEWNĘTRZNĄ? –
Nie, i pozwól mi dodać, że wyraźnie, dzięki. –