SQL 문 안에서 IF-THEN-ELSE 논리를 사용할 수 있도록 해준다.
다음 두 방법을 사용한다
CASE
표현식
select last_name, job_id, salary,
case job_id when 'IT_PROG' then 1.10*salary
when 'ST_CLERK' then 1.15*salary
when 'SA_REP' then 1.20*salary
else salary end "REVISED_SALARY"
from employees;
job_id의 값을 확인해서
1. job_id가 IT_PROG면 급여 10% 인상
2. job_id가 ST_CLERK면 급여 15% 인상
3. job_id가 SA_REP면 급여 20% 인상
DECODE
표현식select last_name, job_id, salary,
decode(job_id, 'IT_PROG', 1.10*salary,
'ST_CLERK', 1.15*salary,
'SA_REP', 1.20*salary,
salary)
REVISED_SALARY
from employees;
job_id의 값이 테스트된다.
1. job_id가 IT_PROG면 급여 10% 인상
2. job_id가 ST_CLERK면 급여 15% 인상
3. job_id가 SA_REP면 급여 20% 인상
IF
표현식select last_name, job_id, salary,
if job_id = 'IT_PROG' then 1.10*salary
if job_id = 'ST_CLERK' then 1.15*salary
if job_id = 'SA_REP' then 1.20*salary
else salary = salary
from employees;
등가 조인
사원의 부서 이름을 판별하기 위해 EMPLOYEES 테이블의 DEPARTMENT_ID 열의 값을 DEPARTMENTS 테이블의 DEPARTMENT_ID 값과 비교한다.
EMPLOYEES 테이블과 DEPARTMENTS 테이블의 관계는 등가 조인이다.
죽, 두 테이블의 DEPARTMENT_ID열 값이 동일해야 한다.
등가 조인 유형은 주로 기본 키와 외래 키를 보조 수단으로 포함한다.
AND 연산자를 사용한 추가 검색 조건
세 개 이상의 테이블 조인
select last_name, department_name, city
from employees e, departments d, locations l
where e.department_id = d.department_id
and d.location_id = l.location_id;
비등가 조인
포괄 조인
SELECT [column, ] group function(column), ...
FROM table
[WHERE condition]
[GROUP BY column]
[ORDER BY column];