Kết hợp điều kiện AND và OR trong SQL Server

Where nhiều điều kiện trong SQL có thể đã quen thuộc với bạn nhưng bạn đã biết cách kết hợp điều kiện AND và OR trong SQL Server chưa? Hãy cùng Quantrimang.com tìm hiểu nhé!

Toán tử là một từ dành riêng hoặc một ký tự được sử dụng chủ yếu trong SQL để thao tác và truy xuất dữ liệu từ một đối tượng cơ sở dữ liệu. Chúng được sử dụng với các truy vấn SQL trong mệnh đề WHERE để thực hiện những phép toán nhị phân hoặc toán hạng dựa trên toán tử được sử dụng. Trong một phép toán đơn nguyên, nó được thực hiện với một toán tử và một toán hạng duy nhất; trong khi ở phép toán nhị phân, phép toán được thực hiện với một toán tử và hai toán hạng.

Những toán hạng này được dùng để chỉ định điều kiện trong một lệnh SQL với mục đích lọc dữ liệu hoặc liên kết nhiều điều kiện trong một lệnh.

AND & OR là hai toán tử logic trong SQL Server. Chúng hoạt động dưới dạng toán tử liên kết, được dùng để kết hợp nhiều điều kiện trong một lệnh SQL với mục tiêu lọc dữ liệu trong bảng database.

Bài viết hướng dẫn cách dùng kết hợp điều kiện AND và điều kiện OR trong SQL Server (Transact-SQL).

Đã có các bài hướng dẫn riêng về điều kiện AND và điều kiện OR trong SQL Server. Nhưng ngoài ra, 2 điều kiện này còn có thể kết hợp sử dụng trong các lệnh SELECT, INSERT, UPDATE và DELETE.

Khi kết hợp 2 điều kiện này, cần phải nhớ dùng dấu ngoặc đơn để cơ sở dữ liệu biết được thứ tự thực hiện từng điều kiện.

Cú pháp kết hợp điều kiện AND và điều kiện OR

WHERE “điều kiện 1”
AND “điều kiện 2”

OR “điều kiện n”;

Tên biến và giá trị biến

điều kiện 1, điều kiện 2… điều kiện n

Các điều kiện được đánh giá để xác định xem bản ghi có được lựa chọn hay không.

Lưu ý

  • Điều kiện AND và OR cho phép kiểm tra nhiều điều kiện
  • Đừng quên thứ tự thực hiện, xác định bằng dấu ngoặc đơn

Ví dụ - lệnh SELECT

SELECT *
FROM nhanvien
WHERE (ho = ‘Anderson’ AND ten = ‘Sarah’)
OR (nhanvien_id = 75);

Lệnh này sẽ trả về tất cả các nhân viên có họ là Anderson và tên là Sarah hoặc có ID là 75. Dấu ngoặc đơn xác định thứ tự thực hiện các điều kiện.

SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE (ho = ‘Smith’)
OR (ho = ‘Anderson’ AND ten = ‘Sarah’)
OR (nhanvien_id > 1000 AND bang = ‘California’);

Ở ví dụ này, kết quả trả về ID của nhân viên, họ và tên nếu người đó có chọ là Smith; hoặc họ là Anderson và tên là Sarah; hoặc ID của nhân viên lớn hơn 1000 và bang là California.

Ví dụ - lệnh INSERT

INSERT INTO danhba
(ho, ten)
SELECT ho, ten
FROM nhanvien
WHERE (ho = ‘Johnson’ OR ho = ‘Anderson’)
AND nhanvien_id > 54;

Ví dụ này sẽ chèn vào bảng danhba tất cả các giá trị họ và tên từ bảng nhanvien với những ai có họ là Johnson hoặc Anderson và có ID lớn hơn 54

Ví dụ - lệnh UPDATE

UPDATE nhanvien
SET ho = ‘TBD’
WHERE nhanvien_id <= 2000
AND (bang = ‘California’ OR bang = ‘Arizona’);

Ở lệnh này, các giá trị họ của nhân viên sẽ được cập nhật thành TBD nếu ID của nhân viên nhỏ hơn hoặc bằng 2000 và sống ở bang California hoặc Arizona.

Ví dụ - lệnh DELETE

DELETE FROM nhanvien
WHERE bang = ‘California’
AND (ho = ‘Johnson’ OR ten = ‘Joe’);

Ở ví dụ này, kết hợp điều kiện AND và OR trong lệnh DELETE sẽ xóa tất cả bản ghi trong bảng nhanvien nếu giá trị bang là California và nhân viên có họ là Johnson hoặc tên là Joe.

Bài trước: Điều kiện OR trong SQL Server

Bài tiếp: Mệnh đề DISTINCT trong SQL Server

Thứ Năm, 13/07/2023 16:52
53 👨 38.449
0 Bình luận
Sắp xếp theo
    ❖ SQL Server