加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite支持什么连接?

发布时间:2020-12-12 19:17:52 所属栏目:百科 来源:网络整理
导读:根据 the join-op syntax,SQLite有13个不同的连接语句: ,JOINLEFT JOINOUTER JOINLEFT OUTER JOININNER JOINCROSS JOINNATURAL JOINNATURAL LEFT JOINNATURAL OUTER JOINNATURAL LEFT OUTER JOINNATURAL INNER JOINNATURAL CROSS JOIN 它们都是独一无二的
根据 the join-op syntax,SQLite有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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读