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

SQL Server에서 AND 및 OR 조건 결합

이 문서에서는 SQL Server(Transact-SQL)에서 AND 조건 및 OR 조건을 사용하는 방법을 설명합니다.

SQL Server에는 AND 조건 및 OR 조건에 대한 별도의 자습서가 있습니다. 그러나 또한 이 두 조건은 SELECT, INSERT, UPDATE 및 DELETE 명령과 함께 사용할 수 있습니다.

이 두 조건을 결합할 때 괄호를 사용하여 각 조건을 실행할 순서를 데이터베이스에 알리는 것이 중요합니다.

AND 조건과 OR 조건을 결합한 구문

 WHERE 'điều kiện 1' 
AND 'điều kiện 2'

OR 'điều kiện n';

변수 이름 및 변수 값

조건 1, 조건 2 . 조건 n

레코드가 선택되었는지 확인하기 위해 조건이 평가됩니다.

참고

  1. AND 및 OR 조건으로 여러 조건을 확인할 수 있음
  2. 괄호로 구분되는 실행 순서를 잊지 마세요.

예:SELECT 명령

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

이 명령은 성이 Anderson이고 이름이 Sarah이거나 ID가 75인 모든 직원을 반환합니다. 괄호는 조건이 실행되는 순서를 결정합니다.

  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');

이 예에서 결과는 직원 ID, 성 및 해당 사람이 Smith인 경우 이름을 반환합니다. 또는 그들은 Anderson이고 그의 이름은 Sarah입니다. 또는 직원 ID가 1000보다 크고 주는 캘리포니아입니다.

예 - INSERT 명령

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

이 예는 성이 Johnson 또는 Anderson이고 ID가 54보다 큰 사람들의 성 및 이름의 모든 값을 목록에 삽입합니다.

예 - 업데이트 명령

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

직원 ID가 2000 이하이고 캘리포니아 또는 애리조나에 거주하는 경우 이 순서대로 직원의 성은 TBD로 업데이트됩니다.

예 - DELETE 명령

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

이 예에서 상태 값이 California이고 직원의 성이 Johnson인 경우 DELETE 명령의 AND 및 OR 조건 조합은 테이블의 모든 레코드를 삭제합니다. 또는 이름 Joe.