DB/SQL
[SQL] AND / OR 연산자
suniverse
2023. 1. 29. 21:54
AND / OR 연산자는 WHERE절에 추가적인 조건식을 더할 때 사용하는 문법이다.
< AND >
A조건 AND B조건
--> A조건과 B조건을 동시에 만족하는 값을 가진 행을 출력한다.
✍ salary가 10000 이상이고 job_id에 MAN이 포함된 행을 출력
select employee_id, last_name, job_id, salary
from employees
where salary >= 10000 and job_id like '%MAN%';
💻
< OR >
A조건 OR B조건
--> A조건과 B조건 둘 중 하나라도 만족하는 경우 출력
✍ salary가 10000이상 이거나 job_id에 MAN이 포함된 행을 출력 (둘 중 하나만 만족해도 되는 경우)
select employee_id, last_name, job_id, salary
from employees
where salary >= 10000 OR job_id like '%MAN%';
💻
- 연산자 우선순위에 의해서 AND 연산으로 묶인 조건들이 먼저 연산되고 그 이후 OR 연결된 조건이 연산되므로 의도랑 다른 연산이 출력된다.
연산자 우선순위
( ) > AND > OR > 비교연산자
그러므로 괄호( )를 통해서 우선순위가 낮은 OR의 연산순위를 높여 의도한 값을 출력해야한다.
✍ 사원들 중에서 급여가 10000이상이고 job_id에 'MAN' 또는 'REP'를 포함한 사원을 출력
select employee_id, last_name, job_id
from employees
where (job_id like '%MAN%' or job_id like '%REP%') and salary >= 10000;
--> job_id의 OR 조건을 괄호로 묶어 주었다
💻