자격증/SQLD

EQUI JOIN

dev? 2024. 11. 8. 14:07
반응형

JOIN

  • 일반적으로 PK, FK를 이용
  • 논리적 관계만으로 가능
  • 테이블 여러개 조인해도 2개씩 조인
  • JOIN A, B, C,D -> JOIN(JOIN(JOIN(A,B), C), D)

EQUI JOIN

  • 테이블 간의 칼럼 값들이 정확히 일치 할때
  • JOIN 대상 테이블이 N개라면 EQUI JOIN은 조인 조건 N-1개 필요
SELECT
    EMP.EMPNO,
    EMP.ENAME,
    DEPT.DNAME
FROM EMP, DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO;

 

[제약사항]

  • ALIAS를 사용하면 기존 테이블의 이름 사용 불가능
  • ALIAS를 사용하면 ALIAS만 사용가능
  • FROM에 AS 사용 불가

 

조건 추가해서 사용 가능

SELECT
    A.EMPNO,
    A.ENAME,
    B.DNAME
FROM EMP A, DEPT B
WHERE B.DNAME ='SALES' AND A.DEPTNO = B.DEPTNO;

 


데이터가 더 많은 쪽에 맞춰서 결과가 출력이된다

-- EMP 결과 : 14
-- DEPT 결과 : 4
SELECT *
FROM EMP a, DEPT d
WHERE a.DEPTNO  = d.DEPTNO

 

반응형