SQLite INDEXED BY
"INDEXED BY index-name" 子句規定,為了照顧上表的值,必須使用命名的索引。
如果索引名不存在或不能用於查詢,然後編製的SQLite的語句失敗。
"NOT INDEXED" 子句規定,冇有索引訪問時,應使用上表中,包括隱含指數創建UNIQUE和PRIMARY KEY約束。
然而,INTEGER PRIMARY KEY仍然可以被用於搜索條目,即使"NOT INDEXED" 指定。
Syntax
以下是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;