UNION은 고유한 행만 반환하는 반면 UNION ALL은 중복 행을 포함합니다. UNION은 병합 전에 중복을 제거하지만 UNION ALL은 행을 중복 제거하지 않습니다.
SQL에서 UNION과 UNION ALL의 차이점
UNION과 UNION ALL은 두 개 이상의 테이블에서 행을 병합하는 데 사용되는 SQL 연산자입니다. 그러나 중복 행을 처리하는 방법에는 근본적인 차이점이 있습니다.
UNION
UNION ALL
예
아래와 같이 두 개의 테이블 T1과 T2가 있다고 가정합니다.
<code>T1: +----+----+ | ID | Name | +----+----+ | 1 | John | | 2 | Susan | | 3 | Mary | +----+----+ T2: +----+----+ | ID | Name | +----+----+ | 2 | Susan | | 4 | Bob | +----+----+</code>
UNION 연산자를 사용하여 이 두 테이블을 병합하면:
<code>SELECT * FROM T1 UNION SELECT * FROM T2;</code>
결과는 다음과 같습니다.
<code>+----+----+ | ID | Name | +----+----+ | 1 | John | | 2 | Susan | | 3 | Mary | | 4 | Bob | +----+----+</code>
여기서 중복 행( ID = 2, 이름 = Susan)이 삭제되었습니다.
UNION ALL 연산자를 사용하여 이 두 테이블을 병합하는 경우:
<code>SELECT * FROM T1 UNION ALL SELECT * FROM T2;</code>
결과는 다음과 같습니다.
<code>+----+----+ | ID | Name | +----+----+ | 1 | John | | 2 | Susan | | 2 | Susan | | 3 | Mary | | 4 | Bob | +----+----+</code>
중복 행이 이미 결과에 포함되어 있습니다.
위 내용은 SQL에서 Union과 Union의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!