SQL BETWEEN - Lọc kết quả trong khoản
Toán tử BETWEEN được sử dụng khi tiêu chí lọc là một phạm vi liên tục với giá trị lớn nhất và giá trị nhỏ nhất. Nó luôn được sử dụng trong mệnh đề WHERE.
Syntax
Cú pháp cho toán tử BETWEEN như sau:
FROM "table_name"
WHERE "column_name" BETWEEN 'max_value' AND 'min_value';
Thao tác này sẽ chọn tất cả các hàng có cột có giá trị từ 'min_value' và 'max_value.' Xin lưu ý thứ tự: 'min_value' cần được liệt kê trước AND và 'max_value.' cần được liệt kê sau. Nếu thứ tự được chuyển đổi, câu lệnh SQL vẫn hợp lệ, nhưng sẽ không cho kết quả mong muốn.
Các ví dụ
Chúng tôi sử dụng bảng sau cho các ví dụ của chúng tôi.
Table Store_Information
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
San Francisco | 300 | Jan-08-1999 |
Boston | 700 | Jan-08-1999 |
Example 1
Để chọn xem tất cả thông tin bán hàng từ ngày 6 tháng 1 năm 1999 đến ngày 10 tháng 1 năm 1999, chúng tôi nhập,
FROM Store_Information
WHERE Txn_Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999';
Lưu ý rằng ngày tháng có thể được lưu trữ ở các định dạng khác nhau trong các cơ sở dữ liệu khác nhau. Hướng dẫn này chỉ cần chọn một trong các định dạng.
Kết quả:
Store_Name | Sales | Txn_Date |
San Diego | 250 | Jan-07-1999 |
San Francisco | 300 | Jan-08-1999 |
Boston | 700 | Jan-08-1999 |
BETWEEN là một toán tử bao hàm, có nghĩa là 'giá trị1' và 'giá trị2' được bao gồm trong kết quả. Nếu chúng ta muốn loại trừ 'value1' và 'value2' nhưng bao gồm mọi thứ ở giữa, chúng ta cần thay đổi truy vấn thành như sau:
FROM "table_name"
WHERE ("column_name" > 'value1')
AND ("column_name" < 'value2');
Ví dụ 2
Chúng ta cũng có thể sử dụng toán tử BETWEEN để loại trừ một phạm vi giá trị bằng cách thêm NOT vào trước BETWEEN . Trong ví dụ trên, nếu chúng ta muốn hiển thị tất cả các hàng có cột Bán hàng không nằm trong khoảng từ 280 đến 1000, chúng ta sẽ sử dụng SQL sau:
FROM Store_Information
WHERE Sales NOT BETWEEN 280 and 1000;
Kết quả:
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | Jan-05-1999 |
San Diego | 250 | Jan-07-1999 |
Bài tập
Đối với các bài tập này, giả sử chúng ta có một bảng có tên là User_Sales với dữ liệu sau:
Bảng User_Sales
First_Name | Last_Name | Birth_Date | Gender | Join_Date | Total_Sales |
Sophie | Lee | Jan-05-1960 | F | Apr-05-2015 | 500 |
Richard | Brown | Jan-07-1975 | M | Apr-05-2015 | 200 |
Jamal | Santo | Oct-08-1983 | M | Apr-09-2015 | 350 |
Casey | Healy | Sep-20-1969 | M | Apr-09-2015 | 80 |
Jill | Wilkes | Nov-20-1979 | F | Apr-15-2015 | 210 |
1. Câu lệnh SQL nào sau đây là hợp lệ? (There can be more than one answer)
a) SELECT * FROM User_Sales WHERE Total_Sales BETWEEN 200 OR 300;
b) SELECT * FROM User_Sales WHERE Total_Sales IS BETWEEN 200 OR 300;
c) SELECT * FROM User_Sales WHERE Total_Sales IS BETWEEN 200 AND 300;
d) SELECT * FROM User_Sales WHERE Total_Sales BETWEEN 200 AND 300;
2. How many records will be returned by the following query?
SELECT * FROM User_Sales WHERE Join_Date BETWEEN 'Apr-05-2015' AND 'Apr-10-2015';
3. Có bao nhiêu bản ghi sẽ được trả về bởi truy vấn sau?
SELECT * FROM User_Sales WHERE Gender = 'F' OR Total_Sales BETWEEN 50 AND 100;
Xem thêm:
- DELETE FROM - Xóa dòng trong SQL
- UPDATE - cú pháp cập nhật dữ liệu
- INSERT INTO SELECT - Insert dữ liệu từ câu lệnh select
- INSERT INTO - cú pháp thêm dữ liệu
- SELECT UNIQUE - Select loại bỏ trùng
- SQL AS - Gán bí danh cho bảng