Equijoin

DB 2009. 6. 2. 13:46

Equijoin이란 조인 조건에서 =을 사용하여 값들이 정확하게 일치하는 경우에 사용하는 조인을 말한다.

대부분 PK와 FK의 관계를 이용해서 조인하고 다른 말로 단순 조인 또는 내부 조인 이라고도 한다.


1. Equijoin으로 자료 검색

   1) SELECT절은 검색할 열 이름을 명시.

   2) FROM절은 Access해야 하는 두 개 이상의 테이블을 명시.

   3) WHERE절은 테이블의 조인 조건을 명시.

   4) 양쪽 테이블에 공통으로 존재하는 열 이름은 모호함을 피하기 위하여 열 이름 앞에 테이블명을

       기술해야 한다.

   문제> EMP 테이블에서 사원번호, 이름, 업무, EMP 테이블의 부서번호, DEPT테이블의 부서번호,

            부서명, 근무지를 출력하여라.

            SELECT empno, ename, job, emp.deptno, dept.deptno
             FROM emp, dept
             WHERE dept.deptno = emp.deptno
             ORDER BY dept.deptno


             EMPNO ENAME           JOB                    DEPTNO     DEPTNO
            -------- --------------- ------------------ ---------- ----------
                   7839 KING            PRESIDENT                  10         10
                   7782 CLARK           MANAGER                    10         10
                   7934 MILLER          CLERK                      10         10
                   1111 홍길동                                             10         10
                   7788 SCOTT           ANALYST                    20         20
                   7876 ADAMS           CLERK                      20         20
                   7566 JONES           MANAGER                    20         20
                   7369 SMITH           CLERK                      20         20
                   3311                                                   20         20
                   7902 FORD            ANALYST                    20         20
                   1000 대조영                                     30         30

               EMPNO ENAME           JOB                    DEPTNO     DEPTNO
              -------- --------------- ------------------ ---------- ----------
                    7900 JAMES           CLERK                      30         30
                    7844 TURNER          SALESMAN                   30         30
                   7698 BLAKE           MANAGER                    30         30
                   7654 MARTIN          SALESMAN                   30         30
                   7521 WARD            SALESMAN                   30         30
                   1001 TEST                                               30         30
                   7499 ALLEN           SALESMAN                   30         30


2. Table에 Alias 사용

   테이블 별칭을 사용하여  긴 테이블 명을 간단하게 사용할 수 있다.

   SQL 코드를 적게 사용하여 코딩 시간이 절약되고 메모리를 보다 적게 사용한다.

   SELECT e.empno, e.ename, e.job, e.deptno, d.deptno, d.dname, d.loc

   FROM dept d, emp e  //FROM절에 dept를 d라고 별칭을 만들고, emp를 e라고 별칭을 만들었다.

   WHERE d.deptno = e.deptno

   ORDER BY d.deptno;

   1) 테이블 Alias는 30자까지 사용 가능하지만 짧을수록 좋다.

   2) FROM절에서 Alias가 사용되면 SELECT문 전체에서 사용 가능하다.

   3) 테이블의 Alias에 가급적 의미를 부여하는게 좋다.

   4) 테이블의 Alias는 현재 SELECT 문장에서만 유용하다.


3. WHERE절에 AND 연산자를 사용하여 추가적인 검색 조건을 가질 수 있다.

   SELECT e.empno, e.ename, job, e.sal, d.dname, d.loc
   FROM dept d, emp e
   WHERE d.deptno = e.deptno AND e.job = 'SALESMAN'


   EMPNO ENAME     JOB              SAL DNAME        LOC
   ------- --------- --------- ---------- ------------ --------
        7499 ALLEN     SALESMAN        1600 SALES        CHICAGO


        7521 WARD      SALESMAN        1250 SALES        CHICAGO


        7654 MARTIN    SALESMAN        1250 SALES        CHICAGO


        7844 TURNER    SALESMAN        1500 SALES        CHICAGO


4. 세 개 이상의 테이블 조인

   때로는 세 개 이상의 테이블을 조인할 수도 있다.

   방법은 FROM에는 테이블을 하나 더 적어주면 되고, WHERE절에는 AND를 이용해 조인한다.

[출처] Equijoin|작성자 이경모


'DB' 카테고리의 다른 글

그룹 함수  (0) 2009.06.02
GROUP BY  (0) 2009.06.02
Join  (0) 2009.06.02
Non-Equijoin  (0) 2009.06.02
Outer Join  (0) 2009.06.02
Posted by 으랏차
,