MSSQL 집합
-
[데이터베이스] SQL 집합 연산자 (intersect, union, except)데이터베이스와 SQL 2023. 1. 23. 18:06
집합 연산자는 두 개 이상의 테이블에서 조인을 사용하지 않고, 연관된 데이터를 조회하는 방법 중 하나이다. SELECT 절의 칼럼 수가 동일하고, 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환이 가능해야 한다. INTERSECT 여러 개의 테이블에 대한 교집합이다. (AND) INNER JOIN은 중복된 값을 모두 추출하지만 기본적으로 intersect는 중복 값을 하나의 행으로 만든다. UNION 여러 개의 테이블에 대한 합집합으로, 중복된 행은 역시 하나로 만든다. n(A ∪ B) = n(A) + n(B) - n(A ∩ B) UNION ALL 여러 개의 테이블에 대한 합집합이지만, 중복된 행은 전부 결과로 추출한다. 중복 값이 없다면 UNION과 동일한 결과를 보여주지만, 결과의 정렬 순서는 ..