Computer >> Máy Tính >  >> Lập trình >> SQL Server

Kết hợp các điều kiện VÀ và HOẶC trong SQL Server

Bài viết giải thích cách sử dụng điều kiện AND và điều kiện OR trong SQL Server (Transact-SQL).

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

Khi kết hợp hai điều kiện này, điều quan trọng cần nhớ là sử dụng dấu ngoặc đơn để cho cơ sở dữ liệu biết 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 chọn hay không.

Lưu ý

  1. Các điều kiện VÀ và HOẶC cho phép nhiều điều kiện được kiểm tra
  2. Đừng quên thứ tự thực hiện, được 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ả nhân viên có họ Anderson và tên Sarah hoặc có ID 75. Dấu ngoặc đơn xác định thứ tự thực thi các điều kiện.

  SELECT nhanvien_i d, ho, ten 
FROM nhanvien
WHERE (ho = 'Smith')
OR (ho = 'Anderson' AND ten = 'Sarah')
OR (nhanvien_id > 1000 AND ba ng = 'California');

Trong ví dụ này, kết quả trả về ID nhân viên, họ và tên nếu người đó là Smith; hoặc họ là Anderson và tên anh ta là Sarah; hoặc ID nhân viên lớn hơn 1000 và tiểu 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 danh sách tất cả các giá trị của họ và tên của những người có họ Johnson hoặc Anderson và có ID lớn hơn 54

Ví dụ - lệnh CẬP NHẬT

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

Theo thứ tự này, họ của nhân viên sẽ được cập nhật thành TBD nếu ID nhân viên nhỏ hơn hoặc bằng 2000 và sống ở California hoặc Arizona.

Ví dụ - lệnh DELETE

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

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