728x90

 

NATURAL JOIN

  • 두 테이블 간의 동일한 이름을 갖는 모든 컬럼들에 대해 EQUI(=) JOIN(등가)을 수행함
  • NATURAL JOIN 은 USING, ON 과 같이 사용x
  • sql server 에서는 지원하지 않는 기능
  • 조인 처리된 컬럼은 같은 데이터 유형이어야 함
  • ALIAS나 테이블명과 같은 접두사를 붙일 수 x
  • 별도의 JOIN 컬럼을 지정하지 않아도 두 개 테이블에서 DEPTNO라는 공통된 컬럼을 자동으로 인식하여 조인 처리

출력 순서

  • *(아스트로)를 사용하면 (별도 순서를 지정하지 않으면) NATURAL JOIN 의 기준이 되는 컬럼이 다른 컬럼보다 먼저 출력됨
  • NATURAL JOIN 은 조인에 사용된 같은 이름의 컬럼을 하나로 처리하지만, INNER JOIN은 별개의 컬럼으로 표시

 

 

EQUI JOIN(등가조인)

= 비교

  • 2개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하는 경우에 사용, 대부분 PK, FK의 관계를 기반
  • 아래 SQL처럼 컬럼명 앞에 테이블명을 기술해줘야함
SELECT PLAYER.PLAYER_NAME 
FROM PLAYER

 

 

 

NON EQUI JOIN(비등가 조인)

범위 비교

  • 2개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하지 않는 경우에 사용
  • ‘=’ 연산자가 아닌 BETWEEN, >, <= 등 연산자 사용
SELECT E.ENAME, E.JOB, E.SAL, S.GRADE 
FROM EMP E, SALGRADE S

 WHERE E.SAL BETWEEN S.LOSAL AND S.HSAL;

 

728x90
반응형

+ Recent posts