Trong bài này chúng ta tìm hiểu cách sử dụng toán tử BETWEEN trong MySQL để xác định dữ liệu trong một khoảng nào đó. Để select trong khoảng thì ngoài BETWEEN ra ta có thể sử dụng toán tử AND để thay thế, chi tiết thế nào thì chúng ta cùng tìm hiểu nhé.
Giả sử ta có bảng dữ liệu như sau:
Bây giờ cần lấy những sinh viên có năm sinh trong khoảng từ 1970 đến 1990 thì ta sử lệnh SELECT và ở WHERE sử dụng toán tử AND:
Thay vì sử dụng toán tử OR thì ta sử dụng toán tử BETWEEN với cú pháp:

Trong đó:
Quay lại ví dụ trên ta sẽ viết lại câu SQL như sau:
Cả hai cách đều có kết quả giống nhau như hình dưới đây:
Ngoài cú pháp sử dụng select trong khoảng thì BETWEEN còn có một cách sử dụng là select ngoài khoảng.
Cú pháp như sau:
Sự khác nhau giữa trong khoang và ngoài khoảng là thêm chữ NOT đằng trước chữ BETWEEN.
Quay lại bài trên bây giờ cần lấy danh sách sinh viên có năm sinh không nằm trong khoảng 1970 và 1990 thì ta sẽ làm hai cách như sau:
Cách 1: Sử dụng toán tử OR
Cách 2: Sử dụng NOT BETWEEN
Cả hai ví dụ đều có kết quả như sau:
BETWEEN thường sử dụng với dữ liệu kiểu INT, tuy nhiên bạn vẫn sử dụng được với các kiểu dữ liệu khác như:
Ví dụ 1: Lấy danh sách sinh viên có tên gồm các ký tự trong khoảng 'A' đến 'B'
Ví dụ 2: Giả sử bảng sinh viên thêm cột ngày nhập học. Bây giờ viết câu truy vấn lấy danh sách sinh viên nhập học từ ngày 01/01/2003 đến ngày 01/01/2014 thì ta làm như sau:
Vậy, để select trong khoảng nào đó thì ta thường sử dụng BETWEEN, tuy nhiên cũng phụ thuộc vào thói quen của mỗi người mà chọn giữa AND với BETWEEN, OR với NOT BETWEEN.





