논리 연산자는 조건을 논리적으로 연결할 때 사용하는 연산자입니다. 여기에 해당하는 연산자로는 AND, OR, NOT 이 있습니다.
AND
AND 조건은 앞 뒤 조건이 모두 참인 경우에 대한 결과를 반환합니다.
SELECT *
FROM employees
WHERE salary > 4000
AND job_id = 'IT_PROG';
위의 쿼리를 실행해보면, salary는 4000을 초과하면서 job_id가 'IT_PROG'인 조건을 모두 만족하는 데이터를 반환합니다.
OR
OR 조건은 앞의 조건이 참이거나 뒤의 조건이 참인 경우의 결과를 반환합니다.
SELECT *
FROM employees
WHERE salary > 4000
AND job_id = 'IT_PROG'
OR job_id = 'FI_ACCOUNT';
AND절 예시에서 사용했던 쿼리에서 OR 연산자를 추가로 사용해서 조회한 결과는 위와 같습니다. job_id에 대해서 'IT_PROG'인 경우와 'FI_ACCOUNT'인 경우 둘 중의 하나의 조건만 만족하면 되므로 두 경우 모두가 조회 결과에 포함된 것을 확인할 수 있습니다.
NOT
NOT 조건은 뒤에 오는 조건에 반대되는 결과를 출력하고자 할 때 사용합니다. NOT 조건 외에도 부등호를 사용해서 해당 값이 아닌 경우에 대한 데이터를 출력할 수 있습니다. 세 경우 모두 결과는 동일합니다.
SELECT *
FROM employees
WHERE NOT job_id = 'IT_PROG';
SELECT *
FROM employees
WHERE job_id <> 'IT_PROG';
SELECT *
FROM employees
WHERE job_id != 'IT_PROG';
job_id가 'IT_PROG'에 해당하지 않는 경우의 데이터만 조회한 결과는 위와 같습니다. NOT 조건은 어떤 특정 조건에 해당하지 않는 데이터만 가져오고 싶을 때 유용하게 사용할 수 있습니다.
'코딩 노트 > Oracle SQL' 카테고리의 다른 글
[Oracle SQL] SQL 연산자 사용하여 조회 조건 확장하기 (2) | 2022.02.14 |
---|---|
[Oracle SQL] 비교 연산자를 사용한 비교 조회하기 (1) | 2022.02.13 |
[Oracle SQL] 산술 연산자 사용하여 데이터 값끼리 계산하기 (1) | 2022.02.12 |
[Oracle SQL] 연결 연산자 사용하여 데이터 값 연결하기 (1) | 2021.11.30 |
[Oracle SQL] DISTINCT (데이터 중복 제거하기) (1) | 2021.11.22 |
댓글