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 조건을 괄호로 묶어 주었다 

 

💻