Mệnh đề INDEXED BY trong SQLite Mệnh đề INDEXED BY index-name index-name là tên chỉ mục xác định rằng chỉ mục với tên đã cho phải được sử dụng để tìm kiếm các giá trị trên bảng ở trước..
Trang 1Mệnh đề INDEXED BY trong SQLite
Mệnh đề INDEXED BY index-name (index-name là tên chỉ mục) xác định rằng chỉ mục với
tên đã cho phải được sử dụng để tìm kiếm các giá trị trên bảng ở trước
Nếu index-name không tồn tại hoặc không thể được sử dụng cho truy vấn, thì lệnh SQLite
này thất bại
Mệnh đề NOT INDEXED xác định rằng sẽ không có chỉ mục nào được sử dụng khi truy cập
bảng trước đó, bao gồm các chỉ mục ngầm định đã được tạo bởi ràng buộc UNIQUE và
PRIMARY KEY
Tuy nhiên, INTERGER PRIMARY KEY có thể vẫn được sử dụng để tìm các entry ngay cả
khi NOT INDEXED được xác định
Cú pháp
Sau đây là cú pháp cơ bản của mệnh đề INDEXED BY và nó có thể được sử dụng với lệnh
DELETE, UPDATE, và SELECT
SELECT|DELETE|UPDATE column1, column2 INDEXED BY (index_name) table_name
WHERE (CONDITION);
Ví dụ
Với bảng COMPANY này, chúng ta sẽ tạo một chỉ mục và sử dụng nó để thực hiện hoạt
động INDEXED BY
sqlite> CREATE INDEX salary_index ON COMPANY(salary); sqlite>
Bây giờ, lựa chọn dữ liệu từ bảng COMPANY, bạn có thể sử dụng mệnh đề INDEXED BY
như sau:
sqlite> SELECT * FROM COMPANY INDEXED BY salary_index WHERE salary > 5000 ;
Ví dụ trên sẽ cho kết quả:
ID NAME AGE ADDRESS SALARY - -
10000.0 Allen 25 Texas 15000.0
Paul 32 California 20000.0 Teddy 23
Norway 20000.0 Kim 22 South - Hall 45000.0
Trang 2Mark 25 Rich - Mond 65000.0 David 27
Texas 85000.0