WHERE
được dùng để thiết lập
điều kiện truy xuất.Mệnh đề
WHERE
Để truy xuất dữ liệu trong bảng theo các điều kiện nào đó, một mệnh đề
WHERE
có thể được thêm vào câu lệnh
SELECT
.Cú pháp
Cú pháp mệnh đề
WHERE
trong câu lệnh
SELECT
như sau:
SELECT tên_cột
FROM tên_bảng
WHERE tên_cột phép_toán
giá_trị
Trong mệnh đề WHERE
, các phép toán được
sử dụng là
Phép toán Mô
tả
=
So sánh
bằng
<>
So sánh không
bằng
>
Lớn
hơn
<
Nhỏ
hơn
>=
Lớn hơn hoặc
bằng
<=
Nhỏ hơn hoặc bằng
BETWEEN
Nằm giữa một
khoảng
LIKE
So sánh mẫu chuỗi
Lưu ý: Trong một số phiên bản của SQL,
phép toán <> có thể được viết dưới dạng !=
WHERE
Để lấy danh sách những người sống ở thành phố Sandnes, ta sử dụng mệnh đề
WHERE
trong câu lệnh
SELECT
như sau:
SELECT * FROM Persons
WHERE
City = 'Sandnes'
Bảng Persons:LastName | FirstName | Address | City | Year |
---|---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes | 1951 |
Svendson | Tove | Borgvn 23 | Sandnes | 1978 |
Svendson | Stale | Kaivn 18 | Sandnes | 1980 |
Pettersen | Kari | Storgt 20 | Stavanger | 1960 |
Kết quả trả về:
LastName | FirstName | Address | City | Year |
---|---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes | 1951 |
Svendson | Tove | Borgvn 23 | Sandnes | 1978 |
Svendson | Stale | Kaivn 18 | Sandnes | 1980 |
Sử dụng dấu nháy
Lưu ý rằng ở ví dụ trên ta đã sử dụng hai dấu nháy đơn (') bao quanh giá trị điều kiện 'Sandnes'.
SQL sử dụng dấu nháy đơn bao quanh các giá trị ở dạng chuỗi văn bản (text). Nhiều hệ CSDL còn cho phép sử dụng dấu nháy kép ("). Các giá trị ở dạng số không dùng dấu nháy để bao quanh.
Với dữ liệu dạng chuỗi văn bản:
Câu lệnh đúng:Với dữ liệu dạng số:SELECT
* FROM Persons WHERE FirstName =
'Tove'
Câu lệnh sai:SELECT
* FROM Persons WHERE FirstName = Tove
Câu lệnh đúng:Phép toán điều kiệnSELECT
* FROM Persons WHERE Year >
1965
Câu lệnh sai:SELECT
* FROM Persons WHERE Year >
'1965'
LIKE
Phép toán LIKE được dùng để tìm kiếm một chuỗi
mẫu văn bản trên một cột.
Cú pháp
Cú pháp của phép toán LIKE như sau:
SELECT tên_cột FROM tên_bảng
WHERE tên_cột LIKE mẫu
Một ký hiệu % có thể được sử dụng để
định nghĩa các ký tự đại diện. % có thể được đặt trước và/hoặc sau
mẫu.
Sử dụng
LIKE
Câu lệnh SQL sau sẽ trả về danh sách những
người có tên bắt đầu bằng chữ O:
SELECT * FROM Persons
WHERE FirstName LIKE 'O%'
Câu lệnh SQL sau sẽ trả về danh sách những
người có tên kết thúc bằng chữ a:
SELECT * FROM Persons
WHERE FirstName LIKE '%a'
Câu lệnh SQL sau sẽ trả về danh sách những
người có tên kết chứa chuỗi la:
SELECT * FROM Persons
WHERE FirstName LIKE '%la%'