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é.
Mục lục
- 1. Select trong khoảng với BETWEEN trong MySQL
- 2. Select ngoài khoảng với BETWEEN trong MySQL
- 3. Sử dụng BETWEEN với các kiểu dữ liệu khác
- 4. Lời kết
1. Select trong khoảng với BETWEEN trong MySQL
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
:
Bài viết này được đăng tại tranvanbinh.vn
1 2 | SELECT * FROM SINHVIEN WHERE NamSinh >= 1970 AND NamSinh <= 1990 |
Thay vì sử dụng toán tử OR
thì ta sử dụng toán tử BETWEEN
với cú pháp:
1 | field_name BETWEEN begin AND end |
Trong đó:
- field_name: tên field cần kiểm tra
- begin: giá trị bắt đầu
- end: giá trị kết thúc
Quay lại ví dụ trên ta sẽ viết lại câu SQL
như sau:
1 2 | SELECT * FROM SINHVIEN WHERE NamSinh BETWEEN 1970 AND 1990 |
Cả hai cách đều có kết quả giống nhau như hình dưới đây:
2. Select ngoài khoảng với BETWEEN trong MySQL
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:
1 | field_name NOT BETWEEN begin AND end |
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
1 2 | SELECT * FROM SINHVIEN WHERE NamSinh < 1970 OR NamSinh > 1990 |
Cách 2: Sử dụng NOT BETWEEN
1 2 | SELECT * FROM SINHVIEN WHERE NamSinh NOT BETWEEN 1970 AND 1990 |
Cả hai ví dụ đều có kết quả như sau:
3. Sử dụng BETWEEN với các kiểu dữ liệu khác
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ư:
CHARACTER
: Tuân theo thứ tự trong bảng mãASCII
DATE
: Bạn nên sử dụng thêm hàmCASE
chuyển dữ liệu sang dạngDATE
để có kết quả chính xác nhất.
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'
1 2 | SELECT * FROM SINHVIEN WHERE TenSV BETWEEN 'A' AND 'B' <br> |
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:
1 2 | SELECT * FROM SINHVIEN WHERE NgayNhapHoc BETWEEN CAST ( '2003-01-01' AS DATE ) AND CAST ( '2014-01-01' AS DATE ) |
4. Lời kết
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
.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
Select trong khoảng với BETWEEN trong MySQL, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty