SQLite INDEXED BY子句

SQLite INDEXED BY子句

“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);

示例

考虑表格 公司 我们将创建一个索引,并使用它来进行索引操作。

sqlite> CREATE INDEX salary_index ON COMPANY(salary);
sqlite>

现在,在选择来自公司表的数据时,您可以使用以下INDEXED BY子句−

sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000;

这将产生以下结果。

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
7           James       24          Houston     10000.0
2           Allen       25          Texas       15000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程