SQL JOINs   SQL 조인

(2018-05-08)

SQL 다중 테이블, SQL 집합 연산, UNION, 유니온, JOIN, 조인

1. 수학적으로, 집합의 `집합 연산`과 관계형 DB의 `관계 연산` 비교집합의 `집합 연산`
     - 합집합 (UNION)
        . 관계형 DB 대응 例) WHERE OR,  SELECT () UNION SELECT ()
     - 교집합 (INTERSECTION) 
        . 관계형 DB 대응 例) WHERE AND, SELECT () INTERSECT SELECT ()
     - 차집합 (DIFFERENCE)
        . 관계형 DB 대응 例) SELECT () EXCEPT SELECT ()
     - 곱집합 (PRODUCT)
        . 관계형 DB 대응 例) CROSS JOIN

  ㅇ 관계형 DB의 `관계 연산`
     - SELECT : (1 이상의 테이블에서 데이터를 추출)
     - PROJECT
     - JOIN 
     - DIVIDE : (실제 구현 없음)


2. 다중 테이블에 대한 SQL 쿼리의 실용적 형태 구분

  ㅇ UNION 형태
     - 2 이상의 SELECT 문을 결합하는데 사용 
        . SELECT () UNION SELECT ()

  ㅇ JOIN 형태
     


3. UNION (유니온)

  ㅇ 2 이상의 SELECT 문을 결합하는데 사용

  ㅇ 사실상, JOIN 중 FULL OUTER JOIN과 같은 개념
     - UNION ALL : 공통 교집합까지 중복 포함 그대로 보여 줌 (속도 빠름)
     - UNION : 공통 교집합의 중복을 제거하는, 정렬 작업이 내부적으로 발생 (속도 느림)


4. JOIN (조인)

  ㅇ 내부 조인 (INNER JOIN)
     - 기본적으로, 가능한 모든 행과의 조합(카르테시안 곱)을 생성

     - 구분
        . NATURAL JOIN : 테이블 간에 동일 이름을 갖는 칼럼들 중에, 동일 값이 있는 행 만 반환
           .. 테이블명 간에 JOIN 없이 그냥 ,(콤마) 만으로 구분에도 같은 효과

        . INNER JOIN 또는 JOIN : 테이블 간 특정 조건 하에서, 동일 값이 있는 행 만 반환
           .. 즉, USING 조건절이나 ON 조건절을 반드시 사용해야 함

        . CROSS JOIN : 테이블 간 JOIN 조건이 없는 경우 가능한 모든 데이터의 조합

     - 例) 두 테이블에서 같은 값을 갖는 레코드들을 생성하려면,
        .  SELECT column FROM table1 a INNER JOIN table2 b ON a.column = b.column;

  ㅇ 외부 조인 (OUTER JOIN) 
     - 기본적으로, 다른 테이블의 행과 일치하지 않은 행도 보이게 함

     - 구분 (왼쪽 또는 오른쪽 방향)
        . LEFT OUTER JOIN 또는 LEFT JOIN
        . RIGHT OUTER JOIN 또는 RIGHT JOIN
        . FULL OUTER JOIN


5. [기타]  서브 쿼리 (Sub Query)

  ㅇ SELECT 문 하부의 WHERE 절이나 FROM 절 내 사용되는 부분 쿼리(서브 쿼리)


[SQL] 1. SQL 2. SQL 기초 활용 3. SQL 조인 4. RQBE 5. SAG
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
          1. DB
      1.   데이터베이스 기초
      2.   관계형데이터베이스
            1. RDB
            2. RDBMS
            3. 관계 대수
        1.   RDB 용어
        2.   SQL
          1.   1. SQL
              2. SQL 기초 활용
              3. SQL 조인
              4. RQBE
              5. SAG
        3.   MySQL
      3.   DB 모델링/설계
      4.   회복,병행제어
      5.   데이터웨어하우스
      6.   데이터베이스(기타일반)
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌