CMIS SQL 查询全解析:从基础到扩展功能
1. 查询条件的执行顺序
在进行查询时,条件的执行顺序至关重要。执行顺序依次为括号优先,然后是 NOT,接着是 AND,最后是 OR。为确保条件按指定顺序计算,在 SQL 中使用括号是最安全的做法。
以下是两个示例:
-- 示例 1
SELECT * FROM cmisbook:note where cmisbook:noteArchived = TRUE
OR cmisbook:noteArchived = FALSE AND cmis:objectId <> '287'
-- 示例 2
SELECT * FROM cmisbook:note where (cmisbook:noteArchived = TRUE
OR cmisbook:noteArchived = FALSE) AND cmis:objectId <> '287'
在示例 1 中,可能会认为是在查找不是 287 的笔记,但由于 AND 运算符先被计算,存档文档 287 仍会被返回。而示例 2 则不会返回文档 287。同时,要注意在自己的 InMemory 存储库中,objectId 值可能不同,需相应调整查询。
2. 查询结果的排序和限制
当查询返回大量结果时,通常希望以有意义的顺序查看它们。这就需要在查询中添加 ORDER BY 子句,该子句应放在查询的末尾,位于 WHERE 子句之后。
ORDER BY 子句由排序信息元组组成,即指定要排序的属性以及排序方式(升序 AS
超级会员免费看
订阅专栏 解锁全文
61

被折叠的 条评论
为什么被折叠?



