SQLite Indexed By
SQLite Indexed By
資料來源: http://www.runoob.com/sqlite/sqlite-indexed-by.html
“INDEXED BY index-name” 子句規定必須需要命名的索引來查找前面表中值。
如果索引名 index-name 不存在或不能用於查詢,然後 SQLite 語句的準備失敗。
“NOT INDEXED” 子句規定當訪問前面的表(包括由 UNIQUE 和 PRIMARY KEY 約束創建的隱式索引)時,沒有使用索引。
然而,即使指定了 “NOT INDEXED”,INTEGER PRIMARY KEY 仍然可以被用於查找條目。
語法
下面是 INDEXED BY 子句的語法,它可以與 DELETE、UPDATE 或 SELECT 語句一起使用:
SELECT|DELETE|UPDATE column1, column2…
INDEXED BY (index_name)
table_name
WHERE (CONDITION);
實例
假設有表 COMPANY,我們將創建一個索引,並用它進行 INDEXED BY 操作。
sqlite> CREATE INDEX salary_index ON COMPANY(salary);
sqlite>
現在使用 INDEXED BY 子句從表 COMPANY 中選擇資料,如下所示:
sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000;