06/04/2021, 14:50

án tử BETWEEN và NOT BETWEEN trong SQL - Ngôn ngữ truy vấn T-SQL

Toán tử BETWEEN dùng để kiểm tra một giá trị có nằm trong một khoảng giá trị hay không, nó có thể được sử dụng với kiểu number, date, text. Đối với number và text thì sẽ sắp xếp dựa vào thứ tự của bảng mã ASCII. 1. Cú pháp toán tử BETWEEN Bạn hãy xem cú pháp sau: ...

Toán tử BETWEEN dùng để kiểm tra một giá trị có nằm trong một khoảng giá trị hay không, nó có thể được sử dụng với kiểu number, date, text. Đối với number và text thì sẽ sắp xếp dựa vào thứ tự của bảng mã ASCII.

1. Cú pháp toán tử BETWEEN

Bạn hãy xem cú pháp sau:

SELECT column_name_list
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Trong đó:

  • column_name là cột bạn muốn kiểm tra
  • value1value2 là giới hạn giá trị, tức là cận trên và cận dưới.

Ví dụ 1: Lấy danh sách sinh viên có tuổi trong khoảng từ 20 đến 25.

SELECT *
FROM STUDENTS
WHERE AGE BETWEEN 20 AND 25

Ví dụ 2: Lấy danh sách đơn hàng đăng ký từ ngày 20/11/2017 đến ngày 22/12/2017

SELECT *
FROM ORDERS
WHERE ADD_DATE BETWEEN "20/11/2017" AND "22/12/2017"

2. Toán tử NOT BETWEEN

Với toán tử BETWEEN là kiểm tra tồn tại trong khoảng thì NOT BETWEEN sẽ kiểm tra giá trị không nằm trong khoảng, tức là nó phủ định.

Cú pháp như sau:

SELECT column_name_list
FROM table_name
WHERE column_name NOT BETWEEN value1 AND value2;

Ví dụ: Lấy tất cả khách hàng trừ những khách hàng có tuổi không nằm trong khoảng 20 đến 30

SELECT *
FROM CUSTOMERS
WHERE AGE NOT BETWEEN 20 AND 30

3. Toán tử thay thế

Trường hợp bài toán bắt buộc tìm trong khoảng thì bạn cũng có thể sử dụng toán tử AND thay thế cho BETWEEN và OR thay thế cho NOT BETWEEN. Như các ví dụ ở trên thì mình sẽ viết lại như sau:

AND thay thế BETWEEN
SELECT *
FROM STUDENTS
WHERE AGE >= 20 AND AGE <= 25

OR thay thế NOT BEtWEEN
SELECT *
FROM CUSTOMERS
WHERE AGE < 20 OR AGE > 30

Trên là cách sử dụng toán tử so sánh trong khoảng, nó rất hữu ích và giúp ta xây dựng câu SQL trông sạch hơn.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0