SQL - AND và OR các phép toán liên hợp

Xin chào các bạn tương lai của SQL! Chào mừng các bạn đến với bài học về các phép toán AND và OR trong SQL. Tôi rất háo hức dẫn dắt các bạn trong hành trình này, và tôi诺诺, đến cuối bài hướng dẫn này, các bạn sẽ sử dụng các phép toán này như một chuyên gia. Vậy, chúng ta cùng bắt đầu nhé!

SQL - AND & OR

Operator AND trong SQL

Operator AND giống như người cha nghiêm khắc của các phép toán logic. Nó chỉ trả về true khi tất cả các điều kiện đều thỏa mãn. Hãy tưởng tượng nó như một người ăn uống kén chọn chỉ thưởng thức bữa ăn nếu mỗi nguyên liệu đều hợp khẩu vị.

Hãy xem một ví dụ đơn giản:

SELECT * FROM Students
WHERE age > 18 AND grade = 'A';

Truy vấn này có nghĩa là, "Hiển thị tất cả các học sinh trên 18 tuổi và có điểm A." Điều này giống như yêu cầu một học sinh hoàn hảo!

Dưới đây là một ví dụ phức tạp hơn:

SELECT product_name, price, stock_quantity
FROM Products
WHERE price < 50 AND stock_quantity > 100 AND category = 'Electronics';

Truy vấn này đang tìm kiếm các sản phẩm điện tử giá rẻ và có số lượng lớn trong kho. Điều này giống như săn tìm một món hàng tốt trong cửa hàng!

Sử dụng nhiều operator AND

Bạn có thể liên kết nhiều operator AND với nhau, tạo ra một bộ lọc rất cụ thể. Điều này giống như xây dựng một sandwich với nhiều lớp - mỗi lớp (điều kiện) cần phải có để truy vấn trả về kết quả.

SELECT * FROM Employees
WHERE department = 'Sales'
AND years_of_experience > 5
AND salary < 75000
AND performance_rating = 'Excellent';

Truy vấn này đang tìm kiếm các nhân viên bán hàng có kinh nghiệm, hiệu suất cao và có thể được tăng lương. Điều này giống như một sếp đang tìm kiếm ứng viên hoàn hảo cho một cuộc thăng chức!

AND kết hợp với các phép toán logic khác

AND có thể kết hợp với các phép toán khác như OR và NOT để tạo ra các điều kiện phức tạp. Hãy xem một ví dụ:

SELECT * FROM Cars
WHERE (make = 'Toyota' OR make = 'Honda')
AND year > 2015
AND (color = 'Red' OR color = 'Blue');

Truy vấn này đang tìm kiếm các xe Toyota hoặc Honda gần đây có màu đỏ hoặc xanh lam. Điều này giống như một người mua xe rất khắt khe!

AND trong câu lệnh UPDATE

AND không chỉ được sử dụng trong các câu lệnh SELECT. Nó cũng rất hữu ích trong các câu lệnh UPDATE khi bạn muốn sửa đổi các bản ghi cụ thể:

UPDATE Products
SET price = price * 1.1
WHERE category = 'Electronics'
AND stock_quantity < 50
AND last_order_date < '2023-01-01';

Truy vấn này tăng giá của các sản phẩm điện tử có số lượng ít và không được đặt hàng gần đây. Điều này giống như một quản lý cửa hàng điều chỉnh giá dựa trên nhu cầu!

Operator OR trong SQL

Nếu AND là người cha nghiêm khắc, thì OR là người mẹ khoan dung. Nó trả về true nếu bất kỳ điều kiện nào được thỏa mãn. Điều này giống như một nhà phê bình ẩm thực hạnh phúc nếu chỉ có một món ăn trong bữa ăn là ngon.

Dưới đây là một ví dụ đơn giản:

SELECT * FROM Customers
WHERE country = 'USA' OR country = 'Canada';

Truy vấn này lấy tất cả các khách hàng từ Hoa Kỳ hoặc Canada. Điều này casts một mạng lưới rộng hơn so với AND.

Sử dụng nhiều operator OR

Giống như AND, bạn có thể liên kết nhiều điều kiện OR:

SELECT * FROM Books
WHERE genre = 'Science Fiction'
OR genre = 'Fantasy'
OR genre = 'Mystery'
OR author = 'Stephen King';

Truy vấn này đang tìm kiếm các sách thuộc nhiều thể loại phổ biến hoặc do một tác giả cụ thể viết. Điều này giống như duyệt qua phần "Chọn lọc phổ biến" của một hiệu sách!

OR kết hợp với AND

Kết hợp OR và AND có thể tạo ra các truy vấn mạnh mẽ. Nhớ sử dụng dấu ngoặc để nhóm các điều kiện đúng cách:

SELECT * FROM Restaurants
WHERE (cuisine = 'Italian' OR cuisine = 'French')
AND price_range <= 3
AND rating >= 4;

Truy vấn này đang tìm kiếm các nhà hàng Ý hoặc Pháp có giá cả phải chăng và có xếp hạng cao. Điều này hoàn hảo cho việc lên kế hoạch một bữa ăn tối ngon!

OR trong câu lệnh DELETE

OR cũng có thể được sử dụng trong các câu lệnh DELETE để xóa các bản ghi thỏa mãn bất kỳ điều kiện nào:

DELETE FROM Inventory
WHERE (expiry_date < CURRENT_DATE)
OR (stock_quantity = 0 AND last_sold_date < DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH));

Truy vấn này xóa các mục đã hết hạn hoặc không có trong kho trong hơn шість tháng. Điều này giống như một quản lý cửa hàng làm sạch cơ sở dữ liệu tồn kho!

Dưới đây là bảng tóm tắt các điểm chính về các operator AND và OR:

Operator Mô tả Trường hợp sử dụng Ví dụ
AND Trả về true khi tất cả các điều kiện là true thu hẹp kết quả WHERE age > 18 AND grade = 'A'
OR Trả về true khi bất kỳ điều kiện nào là true mở rộng tiêu chí tìm kiếm WHERE country = 'USA' OR country = 'Canada'

Nhớ rằng, chìa khóa để thành thạo các phép toán này là thực hành. Hãy thử viết các truy vấn của riêng bạn, thử nghiệm với các kết hợp khác nhau, và sớm bạn sẽ có thể tạo ra các câu lệnh SQL phức tạp một cách dễ dàng!

Tôi hy vọng bài hướng dẫn này đã làm sáng tỏ thế giới của các operator AND và OR cho bạn. Hãy tiếp tục mã hóa, tiếp tục học hỏi, và quan trọng nhất, hãy tiếp tục tận hưởng hành trình SQL của bạn!

Credits: Image by storyset