추천, 2024

에디터의 선택

SQL에서 JOIN과 UNION의 차이점

JOIN과 UNION은 둘 이상의 관계의 데이터를 결합하는 데 사용되는 SQL의 절입니다. 그러나 얻은 결과의 데이터와 형식을 결합하는 방식은 다릅니다. JOIN 절은 두 릴레이션의 속성을 결합하여 결과 튜플을 형성하는 반면, UNION 절은 두 쿼리의 결과를 결합합니다. JOIN과 UNION의 차이점을 아래 비교 차트를 통해 설명하겠습니다.

비교 차트

비교의 근거어울리다노동 조합
기본JOIN은 공통 필드 또는 속성을 공유하는 두 개의 서로 다른 관계에있는 튜플의 특성을 결합합니다.UNION은 쿼리에있는 관계의 튜플을 결합합니다.
조건JOIN은 관련된 두 릴레이션에 적어도 하나의 공통 속성이있을 때 적용 할 수 있습니다.UNION은 조회에있는 열 수가 같고 해당 속성이 동일한 도메인을 갖는 경우에 적용 할 수 있습니다.
유형내선, 전부 (바깥 쪽), 왼쪽 조인, 오른쪽 조인.UNION 및 UNION ALL.
효과생성 된 튜플의 길이는 관련된 릴레이션의 튜플의 길이와 비교할 때 더 큽니다.결과로 생성되는 튜플의 수는 쿼리에 포함 된 각 관계에있는 튜플의 수와 비교할 때 더 많습니다.
도표

JOIN의 정의

SQL의 JOIN 절은 두 릴레이션이나 테이블의 튜플을 결합하여 더 긴 튜플 크기를 만듭니다. 결과 튜플은 두 릴레이션의 속성을 포함합니다. 속성은 속성 사이의 공통 속성에 따라 결합됩니다. SQL의 다른 유형의 JOIN은 내부 조인, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN입니다.

INNER JOIN 은 두 테이블 사이에 공통 속성이있는 한 두 테이블의 튜플을 결합합니다. 왼쪽 조인 (LEFT JOIN) 은 왼쪽 테이블의 모든 튜플과 오른쪽 테이블의 튜플을 찾습니다. RIGHT JOIN 은 오른쪽 테이블의 모든 튜플과 왼쪽 테이블의 튜플 만 일치시킵니다. FULL OUTER JOIN 은 일치하는 속성을 가지고 있든지 없더라도 테이블의 모든 튜플을 생성합니다.

INNER JOIN은 JOIN과 동일합니다. INNER 키워드를 삭제하고 단순히 JOIN을 사용하여 INNER JOIN을 수행 할 수도 있습니다.

UNION의 정의

UNION은 SQL의 집합 연산입니다. UNON은 두 개의 쿼리 결과를 결합합니다. UNION의 결과는 쿼리에있는 두 관계의 튜플을 포함합니다. 충족되어야하는 조건은 두 가지 관계의 UNION을 취합니다.

  1. 두 릴레이션은 같은 수의 속성을 가져야합니다.
  2. 해당 속성의 도메인은 동일해야합니다.

UNIONUNION ALL 의 두 가지 유형의 UNION이 있습니다. UNION을 사용하여 얻은 결과에는 중복이 포함되지 않습니다. 반면에 UNION ALL을 사용하여 얻은 결과는 중복을 유지합니다.

SQL의 JOIN과 UNION의 주요 차이점

  1. JOIN과 UNION의 가장 큰 차이점은 JOIN이 두 릴레이션의 튜플을 결합하고 결과 튜플이 두 릴레이션의 속성을 포함한다는 것입니다. 반면 UNION은 두 개의 SELECT 쿼리 결과를 결합합니다.
  2. JOIN 절은 관련된 두 관계에 둘 다 공통 인 속성이 하나 이상있는 경우에만 적용 할 수 있습니다. 반면 UNION은 두 릴레이션이 같은 수의 애트리뷰트를 갖고 해당 애트리뷰트의 도메인이 동일 할 때 적용 가능합니다.
  3. JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN의 네 가지 유형이 있습니다. 그러나 UNION, UNION 및 UNION ALL의 두 가지 유형이 있습니다.
  4. JOIN에서 결과 터플은 두 릴레이션의 애트리뷰트를 포함하므로 더 큰 크기를 갖는다. 반면 UNION에서는 튜플에 포함 된 관계의 튜플을 포함하여 튜플 수가 증가합니다.

결론:

데이터 결합 연산은 둘 다 다른 상황에서 사용됩니다. JOIN은 적어도 하나의 속성이 공통 인 두 릴레이션의 속성을 결합하고자 할 때 사용됩니다. UNION은 쿼리에있는 두 릴레이션의 튜플을 결합 할 때 사용됩니다.

Top