SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

SQLite ở đâu

Tóm tắt :trong hướng dẫn này, bạn sẽ học cách sử dụng SQLite WHERE để xác định điều kiện tìm kiếm cho các hàng được trả về bởi truy vấn.

Giới thiệu về SQLite WHERE mệnh đề

WHERE mệnh đề là một mệnh đề tùy chọn của SELECT tuyên bố. Nó xuất hiện sau FROM mệnh đề như câu sau:

SELECT
	column_list
FROM
	table
WHERE
	search_condition;Code language: SQL (Structured Query Language) (sql)

Trong ví dụ này, bạn thêm một WHERE mệnh đề SELECT câu lệnh để lọc các hàng được trả về bởi truy vấn. Khi đánh giá một SELECT câu lệnh với WHERE mệnh đề SQLite sử dụng các bước sau:

  1. Đầu tiên, hãy kiểm tra bảng trong FROM mệnh đề.
  2. Thứ hai, đánh giá các điều kiện trong WHERE để lấy các hàng đáp ứng các điều kiện này.
  3. Thứ ba, tạo bộ kết quả cuối cùng dựa trên các hàng ở bước trước với các cột trong SELECT mệnh đề.

Điều kiện tìm kiếm trong WHERE có dạng sau:

left_expression COMPARISON_OPERATOR right_expressionCode language: SQL (Structured Query Language) (sql)

Ví dụ:bạn có thể tạo điều kiện tìm kiếm như sau:

WHERE column_1 = 100;

WHERE column_2 IN (1,2,3);

WHERE column_3 LIKE 'An%';

WHERE column_4 BETWEEN 10 AND 20;Code language: SQL (Structured Query Language) (sql)

Bên cạnh SELECT , bạn có thể sử dụng WHERE trong UPDATEDELETE tuyên bố.

Toán tử so sánh SQLite

Toán tử so sánh kiểm tra xem hai biểu thức có giống nhau không. Bảng sau minh họa các toán tử so sánh mà bạn có thể sử dụng để xây dựng biểu thức:

Nhà điều hành
Ý nghĩa
= Bằng
<> hoặc! = Không bằng
< Ít hơn
> Lớn hơn
<= Nhỏ hơn hoặc bằng
> = Lớn hơn hoặc bằng

Toán tử logic SQLite

Các toán tử logic cho phép bạn kiểm tra độ đúng của một số biểu thức. Một toán tử logic trả về giá trị 1, 0 hoặc NULL.

Lưu ý rằng SQLite không cung cấp kiểu dữ liệu Boolean, do đó 1 có nghĩa là TRUE và 0 có nghĩa là FALSE.

Bảng sau minh họa các toán tử logic của SQLite:

Nhà điều hành
Ý nghĩa
TẤT CẢ trả về 1 nếu tất cả các biểu thức là 1.
trả về 1 nếu cả hai biểu thức là 1 và 0 nếu một trong các biểu thức là 0.
BẤT KỲ trả về 1 nếu bất kỳ một trong số các phép so sánh là 1.
GIỮA trả về 1 nếu giá trị nằm trong một phạm vi.
TỒN TẠI trả về 1 nếu truy vấn con chứa bất kỳ hàng nào.
TRONG trả về 1 nếu một giá trị nằm trong danh sách các giá trị.
THÍCH trả về 1 nếu một giá trị khớp với một mẫu
KHÔNG đảo ngược giá trị của các toán tử khác như KHÔNG TỒN TẠI, KHÔNG VÀO, KHÔNG GIỮA, v.v.
HOẶC trả về true nếu một trong hai biểu thức là 1

SQLite WHERE ví dụ mệnh đề

Chúng tôi sẽ sử dụng tracks trong cơ sở dữ liệu mẫu để minh họa cách sử dụng WHERE mệnh đề.

Toán tử bình đẳng (= ) là toán tử được sử dụng phổ biến nhất. Ví dụ:truy vấn sau sử dụng WHERE mệnh đề toán tử bình đẳng để tìm tất cả các bản nhạc trong album id 1:

SELECT
   name,
   milliseconds,
   bytes,
   albumid
FROM
   tracks
WHERE
   albumid = 1;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

SQLite so sánh các giá trị được lưu trữ trong AlbumId cột có giá trị chữ 1 để kiểm tra xem chúng có bằng nhau không. Chỉ những hàng thỏa mãn điều kiện mới được trả về.

Khi bạn so sánh hai giá trị, bạn phải đảm bảo rằng chúng là cùng một kiểu dữ liệu. Bạn nên so sánh số với số, chuỗi với chuỗi, v.v.

Trong trường hợp bạn so sánh các giá trị trong các kiểu dữ liệu khác nhau, ví dụ:một chuỗi với một số, SQLite phải thực hiện chuyển đổi kiểu dữ liệu ngầm định, nhưng nói chung, bạn nên tránh làm điều này.

Bạn sử dụng toán tử logic để kết hợp các biểu thức. Ví dụ:để nhận các bản nhạc của album 1 có độ dài lớn hơn 200.000 mili giây, bạn sử dụng câu lệnh sau:

SELECT
	name,
	milliseconds,
	bytes,
	albumid
FROM
	tracks
WHERE
	albumid = 1
AND milliseconds > 250000;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Câu lệnh sử dụng hai biểu thức albumid = 1milliseconds > 250000 . Nó sử dụng AND toán tử logic để kết hợp các biểu thức này.


SQLite WHERE mệnh đề với LIKE ví dụ toán tử

Đôi khi, bạn có thể không nhớ chính xác dữ liệu mà bạn muốn tìm kiếm. Trong trường hợp này, bạn thực hiện tìm kiếm không chính xác bằng LIKE nhà điều hành.

Ví dụ:để tìm bản nhạc nào do Smith sáng tác, bạn sử dụng LIKE toán tử như sau:

SELECT
	name,
	albumid,
	composer
FROM
	tracks
WHERE
	composer LIKE '%Smith%'
ORDER BY
	albumid;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Bạn nhận được các bản nhạc do R.A. Smith-Diesel, Adrian Smith, v.v.

SQLite WHERE mệnh đề với IN ví dụ toán tử

IN toán tử cho phép bạn kiểm tra xem một giá trị có nằm trong danh sách các giá trị được phân tách bằng dấu phẩy hay không. Ví dụ:để tìm các bản nhạc có id loại phương tiện là 2 hoặc 3, bạn sử dụng IN toán tử như được hiển thị trong câu lệnh sau:

SELECT
	name,
	albumid,
	mediatypeid
FROM
	tracks
WHERE
	mediatypeid IN (2, 3);Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Trong hướng dẫn này, bạn đã học cách sử dụng SQLite WHERE mệnh đề để lọc các hàng trong tập kết quả cuối cùng bằng cách sử dụng các toán tử so sánh và lôgic.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giới thiệu về SQLite

  2. Làm cách nào để đọc và cập nhật cơ sở dữ liệu SQLite bằng ListView trong Android?

  3. Chèn ngày và giờ hiện tại vào cơ sở dữ liệu SQLite

  4. Không thể truy cập cơ sở dữ liệu SQLite được điền sẵn bằng PhoneGap / Cordova trong Android

  5. Không thể mở cơ sở dữ liệu SQLite từ SQLIte Helper Oncreate, khi OnCreate được kích hoạt bằng cách mở cơ sở dữ liệu lần đầu tiên