[SQL] 059. 여러 테이블의 데이터를 조인해서 출력하기2
Updated:
초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.
오라클 SQL을 기반으로 합니다.
실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.
[예시]
다음 예시는 EMP 테이블과 SALGRADE 테이블을 결합한다.
SALGRADE는 LOWSAL(월급범위하단값)와 HIGHSAL(월급범위상단값)별로 GRADE(월급등급)을 가진 테이블이다.
두 테이블엔 공통 컬럼이 존재하지 않는다.
WHERE
절에 조건으로 등호를 사용할 수 없을 때는 다른 연산자를 사용한다.
여기선 EMP 테이블의 SAL(월급)이 SALGRADE 테이블의 LOSWSAL과 HIGHSAL 사이인 경우 GRADE를 출력한다.
(여기선 BETWEEN AND
를 사용하였지만 (>, <, >=, <=) 등 연산자도 사용 가능하다.)
-- NON EQUI JOIN
-- SALGRADE: 월급 구간에 따른 등급 테이블
SELECT A.ENAME, A.SAL, B.GRADE
FROM EMP A, SALGRADE B
WHERE A.SAL BETWEEN B.LOSAL AND B.HISAL;
[결과]
ENAME | SAL | GRADE |
---|---|---|
SMITH | 800 | 1 |
JAMES | 950 | 1 |
ADAMS | 1100 | 1 |
WARD | 1250 | 2 |
MARTIN | 1250 | 2 |
MILLER | 1300 | 2 |
TURNER | 1500 | 3 |
ALLEN | 1600 | 3 |
CLARK | 2450 | 4 |
BLAKE | 2850 | 4 |
JONES | 2975 | 4 |
FORD | 3000 | 4 |
SCOTT | 3000 | 4 |
KING | 5000 | 5 |
Leave a comment