1. Toán tử BETWEEN
Các toán tử BETWEEN được sử dụng trong câu lệnh SELECT để chọn ra những bản ghi trong một khoảng nhất định. Các giá trị có thể là số, văn bản hoặc ngày tháng. Trong toán tử BETWEEN bao gồm giá trị bắt đầu và giá trị cuối của khoảng.
Cú pháp của toán tử BETWEEN như sau:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
Trong đó:
- SELECT column_name(s) là câu lệnh chọn theo cột
- table_name là bảng chứa cột được chọn
- WHERE column_name là điều kiện chọn
- BETWEEN value1 AND value2 là chọn ra những cột có giá trị trong khoảng value1 và value2
2. Ví dụ toán tử BETWEEN
Sau đây là bảng có tên SanPham bao gồm các cột: ID, TenSP, LoaiSP, SoLuong, GiaBan, NgayBan
ID | TenSP | LoaiSP | SoLuong | GiaBan | NgayBan |
1 | Máy tính | Điện tử | 115 | 15 | 2021-3-26 |
2 | Tivi | Điện Tử | 52 | 20 | 2021-5-11 |
3 | Bếp gas | Gia dụng | 22 | 10 | 2021-7-25 |
4 | Sữa chua | Lương thực | 200 | 5 | 2021-10-30 |
5 | Nồi cơm | Gia dụng | 18 | 7 | 2021-11-20 |
6 | Bánh mì | Lương thực | 30 | 5 | 2021-12-30 |
7 | Quần áo | Thời trang | 47 | 7 | 2022-2-7 |
Toán tử BETWEEN với kiểu số
Giả sử ta cần chọn ra các sản phẩm trong bảng SanPham có cột giá bán từ 5 đến 10, khi đó ta có thể sử dụng toán tử BETWEEN như sau:
SELECT * FROM SanPham WHERE GiaBan BETWEEN 5 AND 10;
Kết quả:
ID | TenSP | LoaiSP | SoLuong | GiaBan | NgayBan |
3 | Bếp gas | Gia dụng | 22 | 10 | 2021-7-25 |
4 | Sữa chua | Lương thực | 200 | 5 | 2021-10-30 |
5 | Nồi cơm | Gia dụng | 18 | 7 | 2021-11-20 |
6 | Bánh mì | Lương thực | 30 | 5 | 2021-12-30 |
7 | Quần áo | Thời trang | 47 | 7 | 2022-2-7 |
Trong trường hợp, ta cần lấy ra những sản phẩm trong bảng SanPham có giá bán KHÔNG thuộc từ 5 đến 10, khi đó câu lệnh SQL sẽ như sau:
SELECT * FROM SanPham WHERE GiaBan NOT BETWEEN 5 AND 10;
Kết quả:
ID | TenSP | LoaiSP | SoLuong | GiaBan | NgayBan |
1 | Máy tính | Điện tử | 115 | 15 | 2021-3-26 |
2 | Tivi | Điện Tử | 52 | 20 | 2021-5-11 |
Toán tử BETWEEN với ký tự
Câu lệnh SQL sau chọn tất cả các sản phẩm có LoaiSP nằm giữa Điện tử và Gia dụng:
SELECT * FROM SanPham WHERE LoaiSP BETWEEN "Điện tử" AND "Gia dụng";
ID | TenSP | LoaiSP | SoLuong | GiaBan | NgayBan |
1 | Máy tính | Điện tử | 115 | 15 | 2021-3-26 |
2 | Tivi | Điện Tử | 52 | 20 | 2021-5-11 |
Nếu muốn lấy ra những sản phẩm không có LoaiSP nằm giữa Điện tử và Gia dụng câu lệnh SQL như sau:
SELECT * FROM SanPham WHERE LoaiSP NOT BETWEEN "Điện tử" AND "Gia dụng";
Toán tử BETWEEN với kiểu thời gian
Ta cũng có thể sử dụng toán BETWEEN cho kiểu thời gian. Ví dụ ở bảng trên, tôi cần lấy ra các sản phầm có ngày bán từ 26-3-2021 đến 25-7-2021 tôi sẽ sử dụng câu lệnh SQL như sau:
SELECT * FROM SanPham WHERE NgayNhap BETWEEN '2021-3-26' AND '2021-7-25';
Kết quả:
ID | TenSP | LoaiSP | SoLuong | GiaBan | NgayBan |
1 | Máy tính | Điện tử | 115 | 15 | 2021-3-26 |
2 | Tivi | Điện Tử | 52 | 20 | 2021-5-11 |
3 | Bếp gas | Gia dụng | 22 | 10 | 2021-7-25 |
Chú ý: Khi sử dụng BETWEEN với kiểu dữ liệu date, ta cần khai báo theo định dạng năm-tháng-ngày để tránh trường hợp câu lệnh chọn ra không đúng bản ghi!