发布于 2015-07-25 11:39:23 | 446 次阅读 | 评论: 0 | 来源: 网络整理
"INDEXED BY index-name" 子句规定,为了照顾上表的值,必须使用命名的索引。
如果索引名不存在或不能用于查询,然后编制的SQLite的语句失败。
"NOT INDEXED" 子句规定,没有索引访问时,应使用上表中,包括隐含指数创建UNIQUE和PRIMARY KEY约束。
然而,INTEGER PRIMARY KEY仍然可以被用于搜索条目,即使"NOT INDEXED" 指定。
以下是INDEXED BY子句,它可以用来与DELETE,UPDATE或SELECT语句的语法:
SELECT|DELETE|UPDATE column1, column2...
INDEXED BY (index_name)
table_name
WHERE (CONDITION);
考虑表COMPANY ,我们将创建一个索引,并用它进行索引操作。
sqlite> CREATE INDEX salary_index ON COMPANY(salary);
sqlite>
现在选择如下INDEXED BY 子句可以使用索引表COMPANY 的数据:
sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000;