SELECT E.EMPLOYEE_ID,
E.EMPLOYEE_NAME,
E.DEPARTMENT_ID,
D.DEPARTMENT_NAME
FROM EMPLOYEE E, DEPARTMENT D
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID;
EMPLOYEE_ID
EMPLOYEE_NAME
DEPARTMENT_ID
DEPARTMENT_NAME
1001
홍길동
10
인사팀
1002
김철수
20
개발팀
1003
이영희
20
개발팀
1005
최지우
30
영업팀
2. SELF JOIN
자기 자신 테이블과 조인
별칭 필수
SELECT E.EMPLOYEE_ID AS 직원번호,
E.EMPLOYEE_NAME AS 직원이름,
M.EMPLOYEE_NAME AS 관리자이름
FROM EMPLOYEE E, EMPLOYEE M
WHERE E.MANAGER_ID = M.EMPLOYEE_ID;
직원번호
직원이름
관리자이름
1002
김철수
홍길동
1003
이영희
홍길동
1004
박민수
김철수
3. NON-EQUI JOIN
= 이 아닌 조건으로 조인
주로 BETWEEN, <, > 등 사용
SELECT E.EMPLOYEE_ID,
E.EMPLOYEE_NAME,
E.SALARY,
S.GRADE_LEVEL
FROM EMPLOYEE E, SALARY_GRADE S
WHERE E.SALARY BETWEEN S.MIN_SALARY AND S.MAX_SALARY;
EMPLOYEE_ID
EMPLOYEE_NAME
SALARY
GRADE_LEVEL
1001
홍길동
3000
4
1002
김철수
2500
3
1003
이영희
2800
3
1004
박민수
2200
2
1005
최지우
2600
3
4. OUTER JOIN
(+) 기호 사용 (두 테이블 중 한 곳에만 사용)
(+) 기호가 없는 테이블을 중심으로 JOIN
FULL OUTER JOIN 없음
-- 부서가 없어도 직원은 다 출력 (EMPLOYEE 기준)
SELECT E.EMPLOYEE_ID,
E.EMPLOYEE_NAME,
E.DEPARTMENT_ID,
D.DEPARTMENT_NAME
FROM EMPLOYEE E, DEPARTMENT D
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID(+);