Ngữ pháp SQLite là một chút khác nhau từ the SQL-92 spec 's, theo đó, sau đây là bất hợp pháp:
*OUTER JOIN
*NATURAL OUTER JOIN
*NATURAL CROSS JOIN
Hai đầu tiên, bởi vì một <join type>
, để chứa OUTER
, cũng phải bao gồm <outer join type>
trước nó. Cuối cùng, bởi vì NATURAL
chỉ có thể xảy ra trong <qualified join>
's, không phải của <cross join>
. Đây không phải là hành vi theo bất kỳ thông số kỹ thuật nào, vì vậy bạn nên tránh chúng.
Như đã được trả lời trên the mailing list, SQLite3 chỉ hỗ trợ ba kết nối: CROSS JOIN
, INNER JOIN
và LEFT OUTER JOIN
. Sau đây là tương đương:
, == CROSS JOIN
JOIN == INNER JOIN
LEFT JOIN == LEFT OUTER JOIN
Như đã giải thích trong the wikipedia article từ khóa TỰ NHIÊN là viết tắt cho việc tìm kiếm và phù hợp trên các cột cùng tên, và không ảnh hưởng đến các loại join.
Theo số SQLite page, 'RIGHT
' và 'FULL
' OUTER JOIN
'không được hỗ trợ.
Nguồn
2009-04-21 20:36:53
Không hỗ trợ TRƯỚC KHI RA hoặc RA ĐẦY ĐỦ? –
Không, và hãy để tôi thêm điều đó một cách rõ ràng, cảm ơn. –