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 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ử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ử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!