SQLite支持什么连接?

前端之家收集整理的这篇文章主要介绍了SQLite支持什么连接?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据 the join-op syntaxsqlite有13个不同的连接语句:
,JOIN
LEFT JOIN
OUTER JOIN
LEFT OUTER JOIN
INNER JOIN
CROSS JOIN
NATURAL JOIN
NATURAL LEFT JOIN
NATURAL OUTER JOIN
NATURAL LEFT OUTER JOIN
NATURAL INNER JOIN
NATURAL CROSS JOIN

它们都是独一无二的吗?哪些是等价的?

sqlite语法有点不同于 the SQL-92 spec的,根据它,以下是非法的:
*OUTER JOIN
*NATURAL OUTER JOIN
*NATURAL CROSS JOIN

前两个,因为< join type>,为了包含OUTER,还必须包括< outer join type>之前它。最后一个,因为NATURAL只能出现在< qualified join>中,而不是< cross join>中。这些看起来不是根据任何规范,所以它是一个好主意,以避免它们。

正如the mailing list的回答,sqlite3只支持三个连接:CROSS JOIN,INNER JOIN和LEFT OUTER JOIN。以下是等效的:

,== CROSS JOIN
JOIN == INNER JOIN
LEFT JOIN == LEFT OUTER JOIN

the wikipedia article中所述,NATURAL关键字是在同名列上查找和匹配的缩写,不影响连接类型。

根据SQLite page不支持“RIGHT”和“FULL”OUTER JOIN。

原文链接:https://www.f2er.com/sqlite/198133.html

猜你在找的Sqlite相关文章