English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
INDEXED BY index-name 절은 TABLE에서 값을 찾기 위해 명명된 인덱스를 사용해야 한다는 것을 지정합니다.
if index-name이 존재하지 않거나 질의에 사용할 수 없으면 SQLite 문의 준비가 실패합니다.
'NOT INDEXED' 절은 INDEXED BY를 사용하지 않고 접근하는 경우를 지정합니다. UNIQUE와 PRIMARY KEY 제약 조건으로 생성된 은닉 인덱스를 포함합니다.
하지만, 'NOT INDEXED'를 지정했더라도 INTEGER PRIMARY KEY를 사용하여 항목을 찾을 수 있습니다.
INDEXED BY 절의 문법은 DELETE, UPDATE 또는 SELECT 문과 함께 사용할 수 있습니다.
SELECT|DELETE|UPDATE column1, column2...INDEXED BY (index_name)table_nameWHERE (CONDITION);
TABLE COMPANY에서 인덱스를 생성하고 INDEXED BY 작업에 사용할 것입니다.
sqlite> CREATE INDEX salary_index ON COMPANY(salary); sqlite>
현재 TABLE COMPANY에서 데이터를 선택하면, 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