728x90
1. between 연산자를 사용하여 비등가 조인을 해보자
참고로 비등가 조인에 대해서 간단히 말하자면 조인 조건에 equal 연산자가 아닌 다른 연산자를 사용하여 관계를 기술하는 조인입니다.
y_emp 테이블에 salary 열과 pay_grade 테이블의 low_pay, high_pay 열을 between 연산자를 사용하여 비등가조인
SELECT e.emp_name, e.salary, p.pay_level
FROM y_emp e JOIN pay_grade p
on e.salary BETWEEN p.low_pay AND p.high_pay;
3번 칼럼 pay_level을 출력할 때 조인 조건에 따라 다르게 출력됩니다.

2. Self Join
Self Join이란 간단히 말하면 join 키워드 양쪽 테이블이 같은 경우 Self Join입니다.
1) y_emp 테이블의 직원들은 각 emp_id와 그의 상사 칼럼 mgr_id가 존재합니다.
2) 사원의 이름과 해당 사원의 상사를 출력합니다.
SELECT e.emp_id 직원ID, e.emp_name 직원, m.emp_id 상사ID, m.emp_name 상사
FROM y_emp e join y_emp m
on e.mgr_id = m.emp_id;2행을 보면 두 테이블이 같은것을 볼 수 있습니다.

3. 3 way Join
y_emp 테이블의 직원 이름과 직원이 속한 부서 이름, 부서가 어느 도시에 있는지 검색합니다.
1) 직원 이름 : y_emp 테이블에 emp_name 열
2) 부서 이름 : y_dept 테이블에 dept_name 열
3 도시 이름 : y_loc 테이블에 city 열
select e.emp_name, d.dept_name, yl.city
from y_emp e join y_dept d
on e.dept_id = d.dept_id
join y_loc yl
on d.loc_id = yl.loc_id;칼럼명에 접두어를 붙이면 쿼리 속도가 빨라집니다.

728x90
'SQL > oracle' 카테고리의 다른 글
| oracle SQL - 다중 INSERT (0) | 2023.05.22 |
|---|---|
| oracle SQL - 다중 열 서브 쿼리 (0) | 2023.05.13 |
| oracle SQL - 조인 개념 (0) | 2023.04.25 |
| oracle SQL - 데이터 유형의 변환 (TO_DATE()) (0) | 2023.03.28 |
| oracle SQL - 데이터 유형의 변환 (TO_NUMBER()) (0) | 2023.03.28 |