2009-04-21 12 views

Odpowiedz

49

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.

+0

Brak wsparcia z zewnątrz lub z PEŁNĄ ZEWNĘTRZNĄ? –

+5

Nie, i pozwól mi dodać, że wyraźnie, dzięki. –

Powiązane problemy