Từ khóa SQL BETWEEN truy xuất giá trị nằm trong một tập giá trị cụ thể. Thường dùng để lấy giá trị giữa hai ngày hoặc hai số. Từ khóa này dùng trong mệnh đề WHERE. Cú pháp: "BETWEEN min AND max;".
Thường bạn muốn thu thập thông tin từ cơ sở dữ liệu tồn tại giữa hai giá trị. Bạn có thể dùng toán tử BETWEEN để làm điều này.
Từ khóa SQL BETWEEN cho phép định nghĩa phạm vi cho truy vấn và truy xuất tất cả giá trị trong phạm vi đó. Ví dụ: có cơ sở dữ liệu lương nhân viên. Dùng BETWEEN tạo danh sách nhân viên thu nhập giữa $50,000 và $60,000.
Trong hướng dẫn này, chúng ta xem cách dùng BETWEEN trong SQL và thảo luận một số ứng dụng thực tế.
Từ khóa SQL BETWEEN
Từ khóa SQL BETWEEN cho phép chọn giá trị trong một phạm vi cụ thể. Từ khóa BETWEEN được chỉ định trong phần WHERE của câu lệnh SQL. Bạn cần dùng từ khóa AND để chỉ định hai giá trị trong phạm vi.
Cú pháp điều kiện SQL BETWEEN:
SELECT ten_cot FROM ten_bang WHERE ten_cot BETWEEN gia_tri_toi_thieu AND gia_tri_toi_da;
Như bạn thấy, từ khóa BETWEEN nằm sau câu lệnh WHERE. Dùng từ khóa AND phân tách giá trị tối thiểu và tối đa.
Bạn có thể truy xuất giá trị giữa hai ngày hoặc hai số với BETWEEN. Ví dụ: muốn tìm ai được tuyển giữa hai ngày. Có thể làm với BETWEEN.
BETWEEN cũng hoạt động trên chuỗi (strings). Trong trường hợp này, BETWEEN tìm chuỗi nằm giữa hai giá trị so sánh. Ví dụ: tìm tất cả học sinh điểm giữa A và C.
Từ khóa này hoạt động trên câu lệnh SELECT, INSERT, UPDATE và DELETE.
Ví dụ SQL BETWEEN
Xem bảng nhân viên sau:
| name | salary |
|---|---|
| Geoff | 38000 |
| Mike | 32000 |
| Emma | 50000 |
| Jonah | 50000 |
| Luke | 32000 |
| Alexis | 33000 |
| Hannah | 30000 |
Bảng có 2 cột, 7 hàng. Tạo bảng bằng SQL CREATE TABLE và SQL INSERT.
Giả sử muốn lấy tên và lương tất cả nhân viên thu nhập giữa $35,000 và $55,000/năm. Dùng truy vấn:
SELECT name, salary FROM employees WHERE salary BETWEEN 35000 AND 55000;
SQL server trả về:
| name | salary |
|---|---|
| Geoff | 38000 |
| Emma | 50000 |
| Jonah | 50000 |
(3 hàng — lưu ý: Mike 32000 không nằm trong khoảng, bảng gốc có lỗi hiển thị Mike, đã sửa)
Bạn cũng có thể dùng toán tử BETWEEN tìm thông tin giữa các ngày cụ thể.
Giả sử muốn lấy tên và ngày tuyển dụng nhân viên tuyển giữa 01/01/2009 và 31/12/2011. Cũng dùng BETWEEN:
SELECT name, hired_date FROM employees
WHERE hired_date BETWEEN CAST('2009-01-01' AS DATE) AND CAST('2011-12-31' AS DATE);
Kết quả:
| name | hire date |
|---|---|
| Luke | 2009-12-03 |
| Emma | 2010-03-19 |
| Mike | 2010-03-19 |
| Hannah | 2011-09-30 |
| Jonah | 2010-07-23 |
(5 hàng)
Ví dụ BETWEEN với chuỗi. Muốn tìm tên nhân viên bắt đầu bằng bất kỳ chữ cái giữa A và F trong bảng chữ cái. Dùng BETWEEN:
SELECT name FROM employees WHERE name BETWEEN 'A' AND 'F';
Kết quả:
| name |
|---|
| Emma Alexis |
(2 hàng)
Kết luận
Toán tử SQL BETWEEN truy xuất bản ghi có giá trị cột nằm trong phạm vi cụ thể. Bạn có thể dùng toán tử này tìm giá trị giữa hai chuỗi, ngày và số.
Làm thử thách: viết truy vấn lấy ID tất cả nhân viên trong khoảng 300 và 400. Bảng tên employees, cột ID là id.
Bạn muốn tìm hiểu thêm về SQL? Xem hướng dẫn How to Learn SQL. Bạn sẽ tìm thấy danh sách khóa học hàng đầu và tài nguyên học tập giúp xây dựng kiến thức ngôn ngữ cơ sở dữ liệu SQL.