이 문서에서는 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
레코드가 선택되었는지 확인하기 위해 조건이 평가됩니다.
참고
- AND 및 OR 조건으로 여러 조건을 확인할 수 있음
- 괄호로 구분되는 실행 순서를 잊지 마세요.
예:SELECT 명령
SELECT *
FROM nhanvien
WHERE (ho = 'Anderson' AND ten = 'Sarah')
OR (nhanvien_id = 75);
이 명령은 성이 Anderson이고 이름이 Sarah이거나 ID가 75인 모든 직원을 반환합니다. 괄호는 조건이 실행되는 순서를 결정합니다.
SELECT nhanvien_id, 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.