Chuyển đến nội dung chính

Cách sử dụng toán tử SQL BETWEEN

Toán tử BETWEEN trong SQL giúp lọc các giá trị trong những khoảng xác định, hỗ trợ phân tích dữ liệu hiệu quả. Khám phá các ứng dụng và tiềm năng đầy đủ của nó.
Đã cập nhật 5 thg 6, 2026  · 10 phút đọc

Toán tử BETWEEN trong SQL là một công cụ để lọc các giá trị trong một khoảng nhất định. Nó được dùng trong câu lệnh SELECT để đơn giản hóa và cải thiện khả năng đọc của truy vấn.

Nếu bạn mới bắt đầu với SQL, tôi khuyến khích bạn học các khóa Giới thiệu về SQLSQL Cơ bản để bắt đầu hành trình học SQL và trở thành một nhà phân tích thành thạo.

Câu trả lời ngắn: Toán tử SQL BETWEEN là gì?

Toán tử BETWEEN lọc và trả về các hàng trong tập dữ liệu nằm trong một khoảng nhất định. Khi được dùng trong câu lệnh SELECT, toán tử BETWEEN sẽ bao gồm cả giá trị bắt đầu và kết thúc. Toán tử mạnh mẽ này có thể trả về giá trị thuộc nhiều kiểu dữ liệu SQL, bao gồm ngày tháng, số và chuỗi.

Trong ví dụ dưới đây, truy vấn được dùng để chọn tất cả bản ghi nhân viên có mức lương từ 50.000 đến 60.000 trong bảng employees. Hãy nhớ rằng toán tử BETWEEN là bao gồm, nên cả 50.000 và 60.000 đều sẽ có trong kết quả.

-- Select all columns from the Employees table
SELECT * 
FROM employees
-- Filter the results to include only employees with salaries between 50,000 and 60,000
WHERE salary BETWEEN 50000 AND 60000;

Cú pháp của toán tử SQL BETWEEN

Toán tử BETWEEN có cú pháp đơn giản trong câu lệnh SELECT để lọc giá trị. Nó được dùng trong mệnh đề WHERE để chỉ định cận dưới và cận trên của khoảng dữ liệu cần lọc.

-- Select the specified columns from the table
SELECT column_name(s)
FROM table_name
-- Filter the results to include only those where column_name values fall between (inclusive)
WHERE column_name BETWEEN value1 AND value2;

Cheat Sheet SQL Cơ bản của DataCamp cũng rất hữu ích nếu bạn muốn tham khảo cú pháp của các toán tử phổ biến, bao gồm BETWEEN.

Những điểm quan trọng cần nhớ về SQL BETWEEN

Khi sử dụng toán tử BETWEEN, cần lưu ý rằng nó được đặt trong mệnh đề WHERE của câu lệnh SELECT. Vị trí này đảm bảo toán tử BETWEEN lọc đúng cột được chỉ định trong mệnh đề WHERE.

-- Select all columns from the Employees table
SELECT * 
FROM employees
-- Filter the results to include only employees with employeee_id between 10 and 18
WHERE employee_id BETWEEN 10 AND 18;

Toán tử BETWEEN được ưa chuộng để lọc các giá trị theo khoảng vì nó cho phép lọc dữ liệu ngắn gọn. Cú pháp đơn giản và giúp truy vấn dễ đọc hơn khi phải lọc theo nhiều điều kiện. 

Nếu không có toán tử BETWEEN, ta sẽ dùng các toán tử khác để đạt kết quả tương tự. Hãy lưu ý các toán tử được dùng trong mệnh đề WHERE, điều này khiến truy vấn kém dễ đọc và phức tạp hơn.

-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is greater than or equal to 50,000
-- and less than or equal to 60,000
WHERE salary >= 50000 AND salary <= 60000;

Truy vấn sẽ dễ đọc và dễ hiểu hơn khi dùng toán tử BETWEEN.

-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is between 50,000 and 60,000 (inclusive)
WHERE salary BETWEEN 50000 AND 60000;

Luôn nhớ rằng các giá trị được chỉ định trong toán tử BETWEEN sẽ được bao gồm trong kết quả. Câu truy vấn SQL sẽ trả về các bản ghi mà giá trị nằm ở cận trên và cận dưới của dữ liệu.

Các trường hợp sử dụng phổ biến của SQL BETWEEN

Toán tử BETWEEN có nhiều trường hợp sử dụng khi lọc dữ liệu, bao gồm lọc theo khoảng số hoặc khoảng thời gian. Hãy cùng xem.

Lọc khoảng số với BETWEEN

Toán tử BETWEEN thường được dùng để lọc dữ liệu dạng số. Trong tình huống này, bạn có thể lọc dữ liệu để lấy các giá trị trong một khoảng nhất định. Trong ví dụ dưới đây, chúng ta lọc bảng employees để trả về các hàng có lương từ 62.000 đến 70.000.

-- Select all columns from employees table
SELECT *
FROM employees
-- Filter the results to include only those employees whose salary is between 62,000 and 70,000 (inclusive)
WHERE salary BETWEEN 62000 AND 70000;

Lọc khoảng thời gian với BETWEEN

Toán tử BETWEEN cũng có thể lọc các bản ghi trong những khoảng ngày tháng nhất định. Ứng dụng này hữu ích khi phân tích dữ liệu có giá trị ngày và giờ. 

Giả sử chúng ta có một cột tên hire_date trong bảng employees, ta có thể dùng toán tử BETWEEN để lọc ngày và tìm các bản ghi nhân viên được tuyển trong một giai đoạn cụ thể.

-- Select all columns from employees table
SELECT *
FROM employees
-- Filter records where hire date is between January 1, 2022, and December 31, 2022 (inclusive)
WHERE hire_date BETWEEN '2022-01-01' AND '2022-12-31';

Kết hợp BETWEEN với các toán tử khác

Bạn cũng có thể kết hợp toán tử BETWEEN với các toán tử khác để xử lý các kịch bản lọc phức tạp. Kỹ thuật này quan trọng khi bạn cần lọc theo tiêu chí cụ thể. Trong ví dụ dưới đây, chúng ta dùng toán tử bằng (=) trong mệnh đề WHEN để lọc các hàng chỉ thuộc phòng Sales. Sau đó truy vấn dùng toán tử BETWEEN để lọc sâu hơn, bao gồm các mức lương từ 50.000 đến 60.000.

-- Select all columns from employees table
SELECT *
FROM employees
-- Filter records where department is 'Sales' and salary is between 50,000 and 60,000 (inclusive)
WHERE department = 'Sales' AND salary BETWEEN 50000 AND 60000;

Tôi khuyến nghị bạn tham khảo bộ sưu tập khóa học SQL của DataCamp để tìm khóa phù hợp với bạn.

Hạn chế của lệnh SQL Between

Cuối cùng, hãy xem một số hạn chế và phương án thay thế. 

Hạn chế của toán tử BETWEEN trong SQL

Những hạn chế tiềm ẩn của toán tử BETWEEN trong SQL gồm:

  • Dễ gây nhầm lẫn về ranh giới bao gồm: Vì toán tử BETWEEN bao gồm các giá trị được chỉ định làm cận trên và cận dưới, nó có thể dẫn đến nhầm lẫn hoặc kết quả không như mong đợi nếu dùng không đúng.
  • Vấn đề hiệu năng với tập dữ liệu lớn: Sử dụng toán tử BETWEEN mà không chỉ định chỉ mục có thể gây ra vấn đề hiệu năng, đặc biệt với các tập dữ liệu lớn.

Các phương án thay thế cho toán tử BETWEEN trong SQL

Vì toán tử BETWEEN bao gồm các giá trị được chỉ định làm cận dưới và cận trên, ta có thể dùng các toán tử nhỏ hơn (<) và lớn hơn (>) để lọc loại trừ. Kỹ thuật này sẽ đảm bảo các giá trị đó không được đưa vào kết quả.

-- Select the first name, last name, and salary columns from the Employees table
SELECT first_name, last_name, salary
FROM employees
-- Filter the results to include only those employees whose salary is greater than 50,000
-- and less than 60,000 (exclusive)
WHERE salary > 50000 AND salary < 60000;

Kết luận

Toán tử BETWEEN trong SQL hữu ích để lọc các giá trị trong những khoảng nhất định. Hiểu tầm quan trọng của việc sử dụng toán tử BETWEEN cho việc lọc và thao tác dữ liệu là điều cần thiết đối với các nhà phân tích dữ liệu. Tôi khuyến khích bạn tiếp tục thực hành toán tử BETWEEN với nhiều tập dữ liệu và kiểu dữ liệu SQL khác nhau để cải thiện kỹ năng SQL của mình.

Học hỏi liên tục sẽ giúp bạn nổi bật trong môi trường chuyên nghiệp. Tôi khuyến khích bạn học khóa nâng cao Lập báo cáo trong SQL và cân nhắc lộ trình nghề nghiệp toàn diện Chuyên viên Phân tích Dữ liệu SQL (Associate). Cuối cùng, DataCamp cũng cung cấp Chứng chỉ SQL Associate để giúp bạn chứng minh thành tích chuyên môn trong việc sử dụng SQL cho phân tích dữ liệu.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Biên tập viên kỹ thuật về Khoa học dữ liệu với kinh nghiệm thực tế trong phân tích dữ liệu, trí tuệ doanh nghiệp và khoa học dữ liệu. Tôi viết nội dung thực tiễn, tập trung vào ngành về SQL, Python, Power BI, Databricks và kỹ thuật dữ liệu, dựa trên công việc phân tích trong thế giới thực. Bài viết của tôi kết nối chiều sâu kỹ thuật với tác động kinh doanh, giúp các chuyên gia chuyển đổi dữ liệu thành những quyết định vững chắc.

Câu hỏi thường gặp

Toán tử SQL BETWEEN dùng để làm gì?

Toán tử BETWEEN trong SQL lọc dữ liệu trong một khoảng giá trị.

Bạn sử dụng toán tử SQL BETWEEN như thế nào?

Toán tử BETWEEN trong SQL được dùng trong mệnh đề WHERE để lọc dữ liệu của cột được chỉ định.

Tôi có thể dùng toán tử BETWEEN với những kiểu dữ liệu SQL nào?

Toán tử BETWEEN có thể được dùng với nhiều kiểu dữ liệu khác nhau, bao gồm kiểu ngày, số và chuỗi.

Tôi có thể dùng toán tử BETWEEN cùng với các toán tử khác không?

Bạn có thể đưa các toán tử khác vào mệnh đề WHERE trước toán tử BETWEEN để lọc nâng cao.

Tôi nên dùng phương án thay thế nào để loại trừ một số bản ghi khỏi dữ liệu?

Bạn nên dùng các toán tử >< để tránh lấy các giá trị cận dưới và cận trên khi dùng toán tử BETWEEN trong SQL.

Chủ đề

Học SQL với DataCamp

Courses

Lập báo cáo trong SQL

4 giờ
38.7K
Học cách xây dựng các báo cáo và bảng điều khiển SQL của riêng bạn, đồng thời nâng cao kỹ năng khám phá, làm sạch và xác thực dữ liệu.
Xem chi tiếtRight Arrow
Bắt đầu khóa học
Xem thêmRight Arrow