Toán tử BETWEEN trong MySQL

Toán tử BETWEEN trong MySQL
Toán tử BETWEEN trong MySQL

Chức năng của Toán tử BETWEEN trong MySQL

Toán tử BETWEEN trong MySQL được dùng để lấy những hàng có giá trị của cột nằm trong một khoảng giá trị nhất định.

Code Toán tử BETWEEN trong MySQL

select ten,gia from tb_sanpham WHERE gia BETWEEN 10000000 AND 50000000;
<?php
   $dbhost = 'localhost';
   $dbuser = 'webmoi_userdata'; // Tên username
   $dbpass = 'xgZwEfQWE'; // Mật khẩu
   // Kết nối đến tên username
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   if(! $conn ){
     die('Không kết nối được: ' . mysql_error());
   }
   // Chọn tên database
   mysql_select_db('webmoi_tendata');
   // Xét kiểu tiếng việt 
   mysql_query('SET NAMES "utf8"');
   
  // WHERE gia BETWEEN 10000000 AND 50000000
   echo "<b>WHERE gia BETWEEN 10000000 AND 50000000</b><br>";
   $sql ="select ten,gia from tb_sanpham WHERE gia BETWEEN 10000000 AND 50000000";
   $ketquamot = mysql_query($sql,$conn);
   if(!$ketquamot){
	  die('Không thể lấy dữ liệu: ' . mysql_error());  
   }
   // Dùng vòng lặp để lấy ra từng hàng trong bảng	
	while($row = mysql_fetch_array($ketquamot, MYSQL_ASSOC)){
		 echo "ten: {$row['ten']} <br> ".
		      "gia: ".number_format($row['gia'],0,"",".")." <br> ".
         "--------------------------------<br>";
   } 
   // Đóng kết nối database
   mysql_close($conn);
?>

Kết quả:

WHERE gia BETWEEN 10000000 AND 50000000
ten: Dàn karaoke gia đình KTreasure TD12 mới nhất
gia: 44.550.000
--------------------------------
ten: Dàn âm thanh nghe nhạc AV01
gia: 25.000.000
--------------------------------
ten: Dàn âm thanh nghe nhạc AV02
gia: 30.000.000
--------------------------------

Cách sử dụng BETWEEN trong MySQL qua các trường hợp thực tế

Toán tử BETWEEN giúp xác định dữ liệu nằm trong một khoảng giá trị cụ thể. Trong MySQL, BETWEEN thường được dùng khi cần lọc theo khoảng số, khoảng thời gian hoặc kết hợp với nhiều điều kiện để tạo truy vấn chính xác hơn.

Sử dụng BETWEEN với dữ liệu số

Với dữ liệu số, BETWEEN phù hợp khi cần lấy các bản ghi nằm trong một khoảng xác định. Hai giá trị ở đầu và cuối đều được tính vào kết quả.

SELECT * FROM san_pham
WHERE gia BETWEEN 100000 AND 500000;

Truy vấn trên lấy những sản phẩm có giá từ 100000 đến 500000, bao gồm cả sản phẩm có giá đúng bằng 100000 hoặc 500000.

Cách này đặc biệt hữu ích khi lọc giá sản phẩm, độ tuổi, số lượng, điểm số hoặc các trường dữ liệu dạng số khác.

Sử dụng BETWEEN với ngày tháng

BETWEEN cũng có thể dùng để lọc dữ liệu theo khoảng ngày. Đây là trường hợp thường gặp khi cần tìm đơn hàng, bài viết hoặc giao dịch phát sinh trong một khoảng thời gian.

SELECT * FROM don_hang
WHERE ngay_dat BETWEEN '2026-08-01' AND '2026-08-15';

Kết quả sẽ gồm các đơn hàng có ngày đặt nằm từ 01/08/2026 đến 15/08/2026, với cả hai mốc ngày đều được tính.

Khi cột dữ liệu chứa cả ngày và giờ, cần chú ý đến phần thời gian ở giá trị kết thúc. Trong trường hợp này, có thể dùng điều kiện lớn hơn hoặc bằng ngày bắt đầu và nhỏ hơn ngày kế tiếp để tránh bỏ sót dữ liệu trong ngày cuối.

SELECT * FROM don_hang
WHERE ngay_dat >= '2026-08-01'
AND ngay_dat < '2026-08-16';

Kết hợp BETWEEN với các điều kiện khác

BETWEEN có thể kết hợp với AND, OR, điều kiện kiểm tra trạng thái hoặc các biểu thức khác để thu hẹp kết quả truy vấn.

SELECT * FROM san_pham
WHERE gia BETWEEN 200000 AND 800000
AND trang_thai = 1;

Ví dụ trên chỉ lấy sản phẩm có giá trong khoảng từ 200000 đến 800000 và đồng thời đang ở trạng thái hoạt động.

Khi có nhiều điều kiện, nên đặt dấu ngoặc cho các nhóm điều kiện sử dụng OR để tránh MySQL hiểu sai thứ tự kết hợp. Điều này giúp câu lệnh dễ đọc hơn và hạn chế kết quả ngoài mong muốn.

SELECT * FROM san_pham
WHERE (gia BETWEEN 200000 AND 500000)
OR (gia BETWEEN 1000000 AND 1500000);

Cách viết này phù hợp khi cần lấy dữ liệu thuộc nhiều khoảng giá khác nhau trong cùng một truy vấn.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Toán tử BETWEEN trong MySQL.

Tải file database .sql về nếu muốn kiểm tra hoặc thực hành Tải về.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Toán tử BETWEEN trong MySQL
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !