Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 IN 조건

IN 조건은 SELECT, INSERT, UPDATE 또는 DELETE 문에서 너무 많은 OR 조건을 사용할 필요성을 최소화하기 위해 SQL Server(Transact-SQL)에서 사용됩니다.

IN 조건의 구문

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

변수 이름 또는 변수 값

표현식

확인할 값

값 1, 값 2, . 값 n

표현식으로 확인할 값

참고

  1. SQL Server의 IN 조건은 표현식의 값이 1이고 값이 2인 경우 레코드를 반환합니다. 또는 n 값.
  2. SQL Server의 IN 조건은 IN 연산자라고도 합니다.

예:문자열 값 사용

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

직원의 성이 Smith, Anderson 또는 Johnson인 경우 결과는 테이블의 행입니다. SELECT 문에서 *를 사용하기 때문에 목차의 모든 필드가 결과 집합에 포함됩니다.

위의 예는 아래의 SELECT 명령과 유사합니다.

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

IN 조건을 사용하면 명령이 더 짧고 이해하기 쉽게 보입니다.

예:숫자 값 사용

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

반환된 결과는 ID가 1, 2, 3, 4 또는 10인 직원입니다. 위 명령은 다음 명령과 같습니다.

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

예:NOT 연산자 사용

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

위의 예에서 결과 집합은 Sarah, John 또는 Dale 이외의 직원 이름을 가진 테이블의 행으로 구성됩니다. 때로는 원하는 값이 아닌 값을 찾는 것이 더 쉽습니다. 위의 예시는 아래 명령어와 동일합니다.

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