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

Điều kiện IN trong SQL Server

Điều kiện IN được sử dụng trong SQL Server (Transact-SQL) để giảm thiểu nhu cầu sử dụng quá nhiều điều kiện HOẶC trong các câu lệnh SELECT, INSERT, UPDATE hoặc DELETE.

Cú pháp của điều kiện IN

 biểu thức IN (giá trị 1, giá trị 2, … giá trị n); 

Tên biến hoặc giá trị biến

biểu thức

Giá trị cần kiểm tra

giá trị 1, giá trị 2 ,. giá trị n

Các giá trị cần kiểm tra với các biểu thức

Lưu ý

  1. Điều kiện IN trong SQL Server sẽ trả về các bản ghi khi biểu thức có giá trị 1, giá trị 2,. hoặc giá trị n.
  2. Điều kiện IN trong SQL Server còn được gọi là toán tử IN.

Ví dụ - với giá trị chuỗi

  SELECT  * 
FROM nhanvien
WHERE ho I N ('Smith', 'Anderson', 'Johnson');

Kết quả sẽ là các hàng trong bảng nếu họ của nhân viên là Smith, Anderson hoặc Johnson. Do sử dụng * trong câu lệnh SELECT, tất cả các trường trong mục lục sẽ nằm trong tập kết quả.

Ví dụ trên tương tự với lệnh SELECT bên dưới.

  SELEC T * 
FROM nhanvien
WHERE ho = 'Smith'
OR ho = 'Anderson'
OR ho = 'Joh nson';

Sử dụng điều kiện IN giúp lệnh trông ngắn hơn và dễ hiểu hơn.

Ví dụ - với các giá trị số

  SELEC T * 
FROM nhanvien
WHERE nha nvien_id IN (1, 2, 3, 4, 10);

Kết quả trả về là nhân viên có ID là 1, 2, 3, 4 hoặc 10. Lệnh trên tương đương với lệnh sau.

  SELECT  * 
FROM nhanvien
WHERE nhanvien_id = 1
OR nhanvien_id = 2
OR nhanvien_id = 3
OR nhanvien_id = 4
OR nhanvien_i d = 10;

Ví dụ - sử dụng toán tử NOT

  SELE CT * 
FROM nhanvien
WHERE t en NOT IN ('Sarah', 'John', 'Dale');

Trong ví dụ trên, tập kết quả bao gồm các hàng từ bảng có tên nhân viên không phải là Sarah, John hoặc Dale. Đôi khi bạn dễ dàng tìm thấy các giá trị không phải là giá trị bạn muốn. Ví dụ trên tương đương với lệnh dưới đây.

 SELECT * 
FROM nhanvien
WHERE ten <> 'Sarah'
AND ten <> 'John'
AND ten <> 'Dale';