SQL - BETWEEN Operator

Xin chào các bạn, những pháp sư SQL tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của toán tử BETWEEN. Là người giáo viên khoa học máy tính gần gũi của bạn, tôi ở đây để hướng dẫn bạn qua chuyến phiêu lưu này với rất nhiều ví dụ và một chút hài hước. Vậy, cầm lấy những cây phép (bàn phím) ảo của bạn, và hãy bắt đầu!

SQL - BETWEEN Operator

The SQL BETWEEN Operator

Hãy tưởng tượng bạn đang tổ chức một bữa tiệc, và bạn muốn mời bạn bè có độ tuổi nằm trong một phạm vi nhất định. Đó chính xác là điều mà toán tử BETWEEN làm trong SQL - nó giúp chúng ta chọn dữ liệu trong một phạm vi cụ thể. Hãy cùng tìm hiểu!

Basic Syntax

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Điều này có thể看起来有点吓人 ban đầu, nhưng đừng lo lắng! Chúng ta sẽ phân tích nó bằng một số ví dụ.

Example 1: Selecting Products within a Price Range

Giả sử chúng ta có một bảng叫做 "Products" trong cơ sở dữ liệu cửa hàng trực tuyến của chúng ta. Chúng ta muốn tìm tất cả các sản phẩm có giá介于 $50 và $100.

SELECT * FROM Products
WHERE Price BETWEEN 50 AND 100;

Truy vấn này sẽ trả về tất cả các cột (*) từ bảng Products nơi Giá nằm giữa $50 và $100, bao gồm cả hai giá trị. Nó giống như hỏi, "Hiển thị tất cả các sản phẩm có giá ít nhất $50 nhưng không quá $100."

Example 2: Date Ranges

Toán tử BETWEEN không chỉ适用于数字。Nó hoạt động rất tốt với các ngày tháng nữa! Giả sử chúng ta có một bảng "Orders" và muốn tìm tất cả các đơn hàng được đặt trong năm 2023.

SELECT * FROM Orders
WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';

Truy vấn này lấy tất cả các đơn hàng có ngày từ ngày 1 tháng 1 năm 2023 đến ngày 31 tháng 12 năm 2023. Nó giống như hỏi cơ sở dữ liệu của bạn, "Chúng tôi đã nhận được哪些 đơn hàng trong năm 2023?"

BETWEEN Operator with IN Operator

Bây giờ, hãy làm cho mọi thứ thú vị hơn một chút! Chúng ta có thể kết hợp BETWEEN với toán tử IN để tạo ra các truy vấn phức tạp hơn. Hãy tưởng tượng như bạn đang tạo danh sách khách mời cho bữa tiệc của bạn với các phạm vi tuổi và tên cụ thể.

Example 3: Combining BETWEEN and IN

Giả sử chúng ta muốn tìm nhân viên介于 25 và 35 tuổi và làm việc trong bộ phận IT hoặc HR.

SELECT * FROM Employees
WHERE (Age BETWEEN 25 AND 35)
AND Department IN ('IT', 'HR');

Truy vấn này giống như nói, "Hiển thị tất cả các nhân viên từ 25 đến 35 tuổi làm việc trong IT hoặc HR." Đây là một cách tuyệt vời để thu hẹp tiêu chí tìm kiếm của bạn.

BETWEEN Operator with UPDATE Statement

Đôi khi, chúng ta cần cập nhật dữ liệu trong một phạm vi cụ thể. Hãy xem chúng ta có thể sử dụng BETWEEN như thế nào trong câu lệnh UPDATE.

Example 4: Updating Salaries

Giả sử chúng ta muốn tăng lương 10% cho tất cả nhân viên có thu nhập介于 $50,000 và $70,000.

UPDATE Employees
SET Salary = Salary * 1.10
WHERE Salary BETWEEN 50000 AND 70000;

Truy vấn này tăng lương 10% cho tất cả nhân viên trong phạm vi lương được chỉ định. Nó giống như thưởng một khoản tiền cho nhân viên có thu nhập trung bình của bạn!

BETWEEN Operator with DELETE Statement

Toán tử BETWEEN cũng có thể được sử dụng với câu lệnh DELETE khi bạn cần xóa dữ liệu trong một phạm vi cụ thể.

Example 5: Deleting Old Records

Giả sử chúng ta muốn xóa tất cả các đơn hàng từ năm 2020 để dọn dẹp cơ sở dữ liệu của chúng ta.

DELETE FROM Orders
WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31';

Truy vấn này xóa tất cả các đơn hàng được đặt vào năm 2020. Nó giống như dọn dẹp mùa xuân kỹ thuật số cho cơ sở dữ liệu của bạn!

NOT BETWEEN Operator

Vậy nếu chúng ta muốn tìm dữ liệu ngoài một phạm vi cụ thể thì sao? Đó là lúc toán tử NOT BETWEEN rất hữu ích.

Example 6: Finding Products Outside a Price Range

Hãy tìm tất cả các sản phẩm có giá nhỏ hơn $20 hoặc lớn hơn $100.

SELECT * FROM Products
WHERE Price NOT BETWEEN 20 AND 100;

Truy vấn này trả về tất cả các sản phẩm có giá nhỏ hơn $20 hoặc lớn hơn $100. Nó giống như hỏi, "Hiển thị các mặt hàng giá rẻ và cao cấp, nhưng không có gì ở giữa."

NOT BETWEEN Operator with IN

Cuối cùng, hãy kết hợp NOT BETWEEN với toán tử IN để tạo ra các truy vấn chính xác hơn.

Example 7: Complex Exclusion Query

Giả sử chúng ta muốn tìm nhân viên không介于 30 và 50 tuổi và không làm việc trong bộ phận Sales hoặc Marketing.

SELECT * FROM Employees
WHERE (Age NOT BETWEEN 30 AND 50)
AND Department NOT IN ('Sales', 'Marketing');

Truy vấn này tìm nhân viên hoặc dưới 30 tuổi hoặc trên 50 tuổi, và không làm việc trong Sales hoặc Marketing. Nó giống như nói, "Hiển thị các nhân viên trẻ và có kinh nghiệm không làm việc trong các bộ phận tiếp xúc với khách hàng."

Summary of BETWEEN Operator Methods

Dưới đây là bảng tóm tắt các cách khác nhau chúng ta có thể sử dụng toán tử BETWEEN:

Method Description Example
BETWEEN Chọn các giá trị trong một phạm vi cho trước WHERE Price BETWEEN 50 AND 100
BETWEEN with Dates Chọn các ngày trong một phạm vi cho trước WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31'
BETWEEN with IN Kết hợp phạm vi và danh sách chọn WHERE (Age BETWEEN 25 AND 35) AND Department IN ('IT', 'HR')
BETWEEN in UPDATE Cập nhật giá trị trong một phạm vi UPDATE Employees SET Salary = Salary * 1.10 WHERE Salary BETWEEN 50000 AND 70000
BETWEEN in DELETE Xóa các bản ghi trong một phạm vi DELETE FROM Orders WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31'
NOT BETWEEN Chọn các giá trị ngoài một phạm vi cho trước WHERE Price NOT BETWEEN 20 AND 100
NOT BETWEEN with IN Kết hợp loại trừ phạm vi và danh sách WHERE (Age NOT BETWEEN 30 AND 50) AND Department NOT IN ('Sales', 'Marketing')

Và đó là tất cả, các bạn! Chúng ta đã cùng nhau hành trình qua thế giới của toán tử BETWEEN, từ các انتخاب cơ bản đến các truy vấn phức tạp. Nhớ rằng, thực hành là cách tốt nhất để thành thạo, vì vậy đừng ngại thử nghiệm các truy vấn này trên bộ dữ liệu của riêng bạn. Chúc các bạn may mắn với SQL, và hy vọng các truy vấn của bạn luôn trả về kết quả bạn mong muốn!

Credits: Image by storyset