JOIN
- 2개 이상의 테이블들을 연결하여 데이터 출력하는 것
- 일반적으로 PK/FK 연관에 의해 JOIN 성립
- 여러 테이블이 나열되더라도 데이터를 처리할 때는 2개의 집합 간에만 조인 일어남
EQUI JOIN (등가 조인)
- 두 테이블 간의 칼럼 값들이 서로 정확하게 일치하는 경우
- PK/FK 관계 기반
- "=" 연산자 또는 ON 절을 통해 표현
- JOIN 조건 개수 = (대상 테이블 개수 - 1)
SELECT T1.칼럼명, T2.칼럼명, ... FROM T1, T2 WHERE T1.칼럼명1 = T2.칼럼명2;
SELECT T1.칼럼명, T2.칼럼명, ... FROM T1 INNER JOIN T2 ON T1.칼럼명1 = T2.칼럼명2;
SELECT P.PLAYER_NAME, P.BACK_NO, T.REGION_NAME, T.TEAM_NAME
FROM PLAYER P, TEAM T WHERE P.TEAM_ID = T.TEAM_ID AND P.POSITION = 'GK'
ORDER BY P.BACK_NO;
NON EQUI JOIN (비등가 조인)
- 두 테이블 간의 칼럼 값들이 서로 정확하게 일치하지 않는 경우
- "="가 아닌 다른(BETWEEN, >, < 등) 연산자들을 사용하여 JOIN
- 데이터 모델에 따라서 NON EQUI JOIN이 불가
SELECT T1.칼럼명, T2.칼럼명, ... FROM T1, T2 WHERE T1.칼럼명1 BETWEEN T2.칼럼명1 AND T2.칼럼명2;
SELECT E.ENAME, E.JOB, E.SAL, S.GRADE FROM EMP E, SALGRADE S
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL;