연산자 우선 순위를 자세히 알고 싶으면 해당 링크로 가져 확인 하자. ( 링크 : 우선순위 규칙 )
AND와 OR은 비슷한 처리 방식이라 같은 우선순위로 생각하기 쉬운데 SQL에서는 AND가 OR 보다 우선순위가 높다.
예를 들어,
'사장이면서 급여가 $20,000을 넘는 사원 또는, 영업 사원을 출력하라.'
SELECT last_name, job_id, salary
FROM employees
WHERE job_id = 'SA_REP' OR job_id = 'AD_PRES' AND salary > 20000;
이라면 연산자 우선 순위로 WHERE 조건 다음으로 AND가 수행되고, 그 다음에 OR이 수행된다.
해당 연산자 중 OR를 먼저 수행 하고 싶다면,
'사장 또는, 영업 사원이면서 급여가 $20,000을 넘는 사원을 출력하라.'
SELECT last_name, job_id, salary
FROM employees
WHERE ( job_id = 'SA_REP' OR job_id = 'AD_PRES' ) AND salary > 20000;
이렇게 괄호를 묶어 OR이 먼저 수행되도록 하자.
'[ Programing ] > Database' 카테고리의 다른 글
[SQL] 대소문자 조작 함수. LOWER, UPPER, INITCAP. (0) | 2011.08.09 |
---|---|
[SQL] 문자 함수 정리. (0) | 2011.08.08 |
[SQL] ORDER BY 절 (0) | 2011.08.02 |
[SQL] NOT 연산자 (0) | 2011.08.01 |
[SQL] NULL 조건 (0) | 2011.08.01 |