Toán tử PostgreSQL
Các toán tử trong mệnh đề WHERE
Chúng ta có thể hoạt động với các toán tử khác nhau trong mệnh đề WHERE
:
= | Tương đương với |
---|---|
< | Ít hơn |
> | Lớn hơn |
<= | Ít hơn hoặc bằng |
>= | Lớn hơn hoặc bằng |
<> | Không bằng |
!= | Không bằng |
LIKE | Kiểm tra xem giá trị có khớp với mẫu không (phân biệt chữ hoa chữ thường) |
ILIKE | Kiểm tra xem giá trị có khớp với mẫu không (không phân biệt chữ hoa chữ thường) |
AND | Logic VÀ |
OR | Logic HOẶC |
IN | Kiểm tra xem một giá trị có nằm trong một phạm vi giá trị không |
BETWEEN | Kiểm tra xem một giá trị có nằm trong một phạm vi giá trị không |
IS NULL | Kiểm tra xem giá trị có phải là NULL không |
NOT | Tạo ra kết quả âm, ví dụ NOT LIKE , NOT IN , NOT BETWEEN |
Tương đương với
Toán tử =
được sử dụng khi bạn muốn trả về tất cả các bản ghi trong đó một cột bằng một giá trị được chỉ định:
Ví dụ
Trả về tất cả các bản ghi có thương hiệu là 'Volvo':
SELECT * FROM cars
WHERE brand = 'Volvo';
Chạy ví dụ »Ít hơn
Toán tử <
được sử dụng khi bạn muốn trả về tất cả các bản ghi trong đó một cột nhỏ hơn một giá trị được chỉ định.
Ví dụ
Trả về tất cả các bản ghi có năm nhỏ hơn 1975:
SELECT * FROM cars
WHERE model < 1975;
Chạy ví dụ »Lớn hơn
Toán tử >
được sử dụng khi bạn muốn trả về tất cả các bản ghi có cột lớn hơn giá trị được chỉ định.
Ví dụ
Trả về tất cả các bản ghi có năm lớn hơn 1975:
SELECT * FROM cars
WHERE model > 1975;
Chạy ví dụ »Ít hơn hoặc bằng
Toán tử <=
được sử dụng khi bạn muốn trả về tất cả các bản ghi trong đó một cột nhỏ hơn hoặc bằng một giá trị được chỉ định.
Ví dụ
Trả về tất cả các bản ghi có năm nhỏ hơn hoặc bằng 1975:
SELECT * FROM cars
WHERE model <= 1975;
Chạy ví dụ »Lớn hơn hoặc bằng
Toán tử >=
được sử dụng khi bạn muốn trả về tất cả các bản ghi có cột lớn hơn hoặc bằng một giá trị được chỉ định.
Ví dụ
Trả về tất cả các bản ghi có năm lớn hơn hoặc bằng 1975:
SELECT * FROM cars
WHERE model >= 1975;
Chạy ví dụ »Không bằng
Toán tử <>
được sử dụng khi bạn muốn trả về tất cả các bản ghi trong đó một cột KHÔNG bằng một giá trị được chỉ định:
Ví dụ
Trả lại tất cả các bản ghi trong đó thương hiệu KHÔNG phải là 'Volvo':
SELECT * FROM cars
WHERE brand <> 'Volvo';
Chạy ví dụ » Bạn sẽ nhận được kết quả tương tự với toán tử !=
:
Ví dụ
Trả lại tất cả các bản ghi trong đó thương hiệu KHÔNG phải là 'Volvo':
SELECT * FROM cars
WHERE brand != 'Volvo';
Chạy ví dụ »GIỐNG
Toán LIKE
được sử dụng khi bạn muốn trả về tất cả các bản ghi trong đó một cột bằng một mẫu đã chỉ định.
Mẫu có thể là một giá trị tuyệt đối như 'Volvo' hoặc có ký tự đại diện có ý nghĩa đặc biệt.
Có hai ký tự đại diện thường được sử dụng cùng với toán tử THÍCH:
- Ký hiệu phần trăm
%
, đại diện cho 0, một hoặc nhiều ký tự. - Dấu gạch dưới
_
, đại diện cho một ký tự đơn.
Ví dụ
Trả về tất cả các bản ghi trong đó mô hình BẮT ĐẦU với chữ 'M' viết hoa:
SELECT * FROM cars
WHERE model LIKE 'M%';
Chạy ví dụ » Toán tử LIKE
phân biệt chữ hoa chữ thường.
TÔI THÍCH
Tương tự như toán tử LIKE
, nhưng ILIKE
không phân biệt chữ hoa chữ thường.
Ví dụ
Trả về tất cả các bản ghi trong đó mô hình bắt đầu bằng 'm':
SELECT * FROM cars
WHERE model ILIKE 'm%';
Chạy ví dụ »VÀ
Toán tử logic AND
được sử dụng khi bạn muốn kiểm tra thêm một điều kiện đó:
Ví dụ
Trả về tất cả các bản ghi có thương hiệu là 'Volvo' và năm là 1968:
SELECT * FROM cars
WHERE brand = 'Volvo' AND year = 1968;
Chạy ví dụ »HOẶC
Toán tử logic OR
được sử dụng khi bạn có thể chấp nhận rằng chỉ một trong nhiều điều kiện là đúng:
Ví dụ
Trả về tất cả các bản ghi có thương hiệu là 'Volvo' HOẶC năm là 1975:
SELECT * FROM cars
WHERE brand = 'Volvo' OR year = 1975;
Chạy ví dụ »TRONG
Toán tử IN
được sử dụng khi giá trị của cột khớp với bất kỳ giá trị nào trong danh sách:
Ví dụ
Trả về tất cả các bản ghi có thương hiệu trong danh sách này: ('Volvo', 'Mercedes', 'Ford'):
SELECT * FROM cars
WHERE brand IN ('Volvo', 'Mercedes', 'Ford');
Chạy ví dụ »GIỮA
Toán tử BETWEEN
được sử dụng để kiểm tra xem giá trị của cột có nằm trong phạm vi giá trị được chỉ định hay không:
Ví dụ
Trả về tất cả các bản ghi có năm nằm trong khoảng từ 1970 đến 1980:
SELECT * FROM cars
WHERE year BETWEEN 1970 AND 1980;
Chạy ví dụ » Toán tử BETWEEN
bao gồm các giá trị from
và to
, nghĩa là trong ví dụ trên, kết quả cũng sẽ bao gồm cả những chiếc ô tô được sản xuất vào năm 1970 và 1980.
LÀ KHÔNG
Toán tử IS NULL
được sử dụng để kiểm tra xem giá trị của cột có phải là NULL hay không:
Ví dụ
Trả về tất cả các bản ghi trong đó mô hình là NULL:
SELECT * FROM cars
WHERE model IS NULL;
Chạy ví dụ »KHÔNG
Toán tử NOT
có thể được sử dụng cùng với các toán tử LIKE
, ILIKE
, IN
, BETWEEN
và NULL
để đảo ngược tính xác thực của toán tử.
Ví dụ: KHÔNG THÍCH
Trả về tất cả các bản ghi trong đó thương hiệu KHÔNG bắt đầu bằng chữ 'B' viết hoa (phân biệt chữ hoa chữ thường):
SELECT * FROM cars
WHERE brand
NOT LIKE 'B%';
Chạy ví dụ »Ví dụ: KHÔNG ILIKE
Trả lại tất cả các bản ghi trong đó thương hiệu KHÔNG bắt đầu bằng 'b' (không phân biệt chữ hoa chữ thường):
SELECT * FROM cars
WHERE brand
NOT ILIKE 'b%';
Chạy ví dụ »Ví dụ: KHÔNG VÀO
Trả lại tất cả các bản ghi mà thương hiệu KHÔNG có trong danh sách này: ('Volvo', 'Mercedes', 'Ford'):
SELECT * FROM cars
WHERE brand NOT IN ('Volvo', 'Mercedes', 'Ford');
Chạy ví dụ »Ví dụ: KHÔNG GIỮA
Trả về tất cả các bản ghi trong đó năm KHÔNG nằm trong khoảng từ 1970 đến 1980:
SELECT * FROM cars
WHERE year NOT BETWEEN 1970 AND 1980;
Chạy ví dụ » Toán tử NOT BETWEEN
loại trừ các giá trị from
và to
, nghĩa là trong ví dụ trên, kết quả sẽ không bao gồm những chiếc ô tô được sản xuất vào năm 1970 và 1980.
Ví dụ: KHÔNG NULL
Trả về tất cả các bản ghi trong đó mô hình KHÔNG rỗng:
SELECT * FROM cars
WHERE model IS NOT NULL;
Chạy ví dụ » Bảng cars
không có cột nào có giá trị NULL, vì vậy ví dụ trên sẽ trả về cả 4 hàng.