1. Trang chủ
  2. » Thể loại khác

menh de w trong sqlite

3 123 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 179,61 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mệnh đề WHERE trong SQLite Mệnh đề WHERE trong SQLite được sử dụng để xác định một điều kiện trong khi lấy dữ liệu từ bảng đơn hoặc nhiều bảng kết hợp.. Nếu điều kiện đã cho được thỏa m

Trang 1

Mệnh đề WHERE trong SQLite

Mệnh đề WHERE trong SQLite được sử dụng để xác định một điều kiện trong khi lấy dữ

liệu từ bảng đơn hoặc nhiều bảng kết hợp

Nếu điều kiện đã cho được thỏa mãn, thì nó chỉ trả về các giá trị cụ thể từ bảng đó Bạn sẽ

sử dụng mệnh đề WHERE để lọc các bản ghi và chỉ lấy các bản ghi cần thiết

Mệnh đề WHERE không chỉ được sử dụng trong lệnh SELECT, mà nó còn được sử dụng

trong các lệnh UPDATE, DELETE, …, sẽ được trình bày trong các chương tiếp theo

Cú pháp

Cú pháp cơ bản của lệnh SELECT với mệnh đề WHERE trong SQLite như sau:

SELECT column1, column2, columnN FROM table_name WHERE [condition]

Ví dụ

Bạn có thể xác định một điều kiện bởi sử dụng các Toán tử so sánh và toán tử logic như

>, <, =, LIKE, NOT, Các ví dụ dưới đây sẽ giúp bạn hiểu rõ khái niệm này Bạn theo dõi

bảng COMPANY có các bản ghi sau:

ID NAME AGE ADDRESS SALARY - -

- - - Paul 32

California 20000.0 Allen 25 Texas 15000.0

Teddy 23 Norway 20000.0 Mark 25

Rich-Mond 65000.0 David 27 Texas 85000.0

Kim 22 South-Hall 45000.0 James 24

Houston 10000.0 Các ví dụ đơn giản này minh họa cách sử dụng của toán tử logic trong SQLite Lệnh SELECT sau liệt kê tất cả bản ghi có AGE lớn hơn hoặc bằng 25 VÀ salary lớn hơn hoặc bằng 65000 sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; ID

NAME AGE ADDRESS SALARY - - -

5 David 27 Texas 85000.0

Lệnh SELECT sau liệt kê tất cả bản ghi có AGE lớn hoặc hoặc bằng 25 HOẶC salary lớn

hơn hoặc bằng 65000

Trang 2

sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000; ID

NAME AGE ADDRESS SALARY - - -

- - Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 Mark

25 Rich-Mond 65000.0 David 27 Texas

85000.0 Lệnh SELECT sau liệt kê tất cả bản ghi có AGE là NOT NULL sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL; ID NAME

AGE ADDRESS SALARY - - - -

- Paul 32 California 20000.0

Allen 25 Texas 15000.0 Teddy 23

Norway 20000.0 Mark 25 Rich-Mond 65000.0

David 27 Texas 85000.0 Kim 22

South-Hall 45000.0 James 24 Houston 10000.0 Lệnh SELECT sau liệt kê tất cả bản ghi có NAME bắt đầu với 'Ki', và không quan tâm đến đằng sau nó là gì sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%'; ID NAME

AGE ADDRESS SALARY - - - -

- Kim 22 South-Hall 45000.0 Lệnh SELECT sau liệt kê tất cả bản ghi có NAME bắt đầu với 'Ki', và không quan tâm đến đằng sau nó là gì (Có thể với ví dụ này bạn không nhận thấy sự khác nhau giữa LIKE và GLOB, nhưng thực chất với LIKE là không phân biệt kiểu chữ còn với GLOB là phân biệt kiểu chữ.) sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*'; ID NAME

AGE ADDRESS SALARY - - - -

- Kim 22 South-Hall 45000.0 Lệnh SELECT sau liệt kê tất cả bản ghi có giá trị AGE hoặc là 25 hoặc là 27: sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 ); ID NAME

AGE ADDRESS SALARY - - - -

- Allen 25 Texas 15000.0

Mark 25 Rich-Mond 65000.0 David 27

Texas 85000.0 Lệnh SELECT sau liệt kê tất cả bản ghi có giá trị AGE không là 25 và không là 27: sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 ); ID NAME

AGE ADDRESS SALARY - - - -

- Paul 32 California 20000.0

Trang 3

Teddy 23 Norway 20000.0 Kim 22

South-Hall 45000.0 James 24 Houston 10000.0

Lệnh SELECT sau liệt kê tất cả bản ghi có giá trị AGE trong khoảng 25 và 27:

sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27; ID NAME AGE ADDRESS SALARY - - - -

Mark 25 Rich-Mond 65000.0 David 27

Texas 85000.0

Lệnh SELECT sau sử dụng truy vấn con trong SQL, trong đó truy vấn con này tìm tất cả bản ghi với trường AGE có SALARY > 65000 và sau đó mệnh đề WHERE được sử dụng cùng với toán tử EXISTS để liệt kê tất cả các bản ghi có AGE từ truy vấn bên ngoài tồn tại trong kết quả được trả về bởi truy vấn con:

sqlite> SELECT AGE FROM COMPANY WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000); AGE - 32 25 23 25 27 22 24

Lệnh SELECT sau sử dụng truy vấn con trong SQL, trong đó truy vấn con này tìm tất cả bản ghi với trường AGE có SALARY > 65000 và sau đó mệnh đề WHERE được sử dụng cùng với toán tử > để liệt kê tất cả bản ghi có AGE từ truy vấn bên ngoài mà lớn hơn AGE trong kết quả được trả về bởi truy vấn con:

sqlite> SELECT * FROM COMPANY WHERE AGE > (SELECT AGE FROM COMPANY

WHERE SALARY > 65000); ID NAME AGE ADDRESS SALARY

32 California 20000.0

Ngày đăng: 02/12/2017, 11:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN