SQLD/SQL 기본과 활용

다중 테이블 조인(ON 조건절, WHERE 절)

DevPing9_ 2020. 8. 27. 18:48
# EMP 테이블에는 ENAME, DEPTNO, CNAME
  DEPT 테이블에는 DEPTNO, DNAME, CNAME
  COMP 테이블에는 CNAME, CDIAL, CLOC
  컬럼만이 있다고 가정한다.
  
# ON 조건절 다중 테이블 조인  
SQL> SELECT A.ENAME, A.DEPTNO, B.DNAME, C.CNAME, C.CDIAL
     FROM EMP A JOIN DEPT B
       ON B.DEPTNO = A.DEPTNO
          JOIN COMP C
       ON C.CNAME = B.CNAME;
       
# WHERE 절 다중 테이블 조인
SQL> SELECT A.ENAME, A.DEPTNO, B.DNAME, C.CNAME, C.CDIAL
     FROM EMP A, DEPT B, COMP C
     WHERE B.DEPTNO = A.DEPTNO
     AND C.CNAME = B.CNAME;
       
# 실행결과 같음
ENAME       DEPTNO       DNAME     CNAME                CDIAL
-------------------------------------------------------------------------------
이상현           D07          마케팅         구름광고               02)111-2222          
구상권           D06          유통           CJ                      02)555-2222
코로나           D01          상담           KB손해보험             02)233-7777
햄버거           D05          SW개발         SAMSUNG              02)756-5525





'''
검색조건 추가하기
'''

# ON 조건절 다중 테이블 조인  
SQL> SELECT A.ENAME, A.DEPTNO, B.DNAME, C.CNAME, C.CDIAL
     FROM EMP A JOIN DEPT B
       ON B.DEPTNO = A.DEPTNO
          JOIN COMP C
       ON C.CNAME = B.CNAME
       WHERE A.DEPTNO = 'D07';
       
# WHERE 절 다중 테이블 조인
SQL> SELECT A.ENAME, A.DEPTNO, B.DNAME, C.CNAME, C.CDIAL
     FROM EMP A, DEPT B, COMP C
     WHERE A.DEPTNO = 'D07' 
     AND B.DEPTNO = A.DEPTNO
     AND C.CNAME = B.CNAME;
       
# 실행결과 같음
ENAME       DEPTNO       DNAME     CNAME                CDIAL
-------------------------------------------------------------------------------
이상현           D07          마케팅         구름광고               02)111-2222 
728x90