SELECT문 중복된 값 제거(MINUS)란?
SELECT문 중복된 값 제거(MINUS)
는 SQL에서 사용되는 연산자 중 하나로, 두 개의 SELECT
문의 결과에서 첫 번째 SELECT
문의 결과에서 나온 데이터 중 두 번째 SELECT
문의 결과에 존재하는 데이터를 제외한 데이터를 반환하는 연산을 수행합니다. 이를 일반적으로 차집합
이라고도 부릅니다.
SELECT문 중복된 값 제거(MINUS)
의 사용 예시
다음은 SELECT문 중복된 값 제거(MINUS)
의 사용 예시입니다:
SELECT column1, column2, ...
FROM table1
MINUS
SELECT column1, column2, ...
FROM table2;
위의 예시에서 MINUS
연산자는 두 개의 SELECT
문을 연결하며, 첫 번째 SELECT
문의 결과에서 두 번째 SELECT
문의 결과에 존재하는 데이터를 제외한 데이터를 반환합니다. 결과는 첫 번째 SELECT
문에만 존재하는 데이터로 이루어집니다.
SELECT문 중복된 값 제거(MINUS)
의 예시 설명
예를 들어, 다음과 같은 두 개의 테이블이 있다고 가정해봅시다:
Customers
CustomerID | CustomerName |
---|---|
1 | John |
2 | Jane |
3 | Sarah |
4 | Michael |
5 | David |
Orders
OrderID | CustomerID | OrderDate |
---|---|---|
1 | 1 | 2020-01-01 |
2 | 3 | 2020-01-02 |
3 | 2 | 2020-01-03 |
4 | 1 | 2020-01-04 |
5 | 4 | 2020-01-05 |
이 때, Customers
테이블에서 Orders
테이블과 중복된 CustomerID
값을 제외한 결과를 반환하려면 다음과 같이 SELECT문 중복된 값 제거(MINUS)
를 사용할 수 있습니다:
SELECT CustomerID, CustomerName
FROM Customers
MINUS
SELECT CustomerID, ''
FROM Orders;
위의 예시에서, 첫 번째 SELECT
문은 Customers
테이블의 CustomerID
와 CustomerName
컬럼을 반환합니다. 두 번째 SELECT
문은 Orders
테이블의 CustomerID
와 공백(''
)을 반환합니다. 따라서, 첫 번째 SELECT
문의 결과 중 두 번째 SELECT
문의 결과에 포함된 데이터를 제외한 결과가 반환됩니다.
실행 결과는 다음과 같습니다:
CustomerID | CustomerName |
---|---|
2 | Jane |
4 | Michael |
5 | David |
위의 결과에서는 Customers
테이블의 CustomerID
값 중 1과 3이 Orders
테이블의 CustomerID
값에도 존재하지만, MINUS
연산자를 사용하여 제외되었습니다.
마무리
이러한 방식으로 SELECT문 중복된 값 제거(MINUS)
연산자를 사용하여 첫 번째 SELECT
문의 결과에서 두 번째 SELECT
문의 결과에 중복된 값을 제외할 수 있습니다. 이를 통해 데이터베이스에서 필요한 정보만 추출하고 중복을 제거하여 사용자가 원하는 결과를 얻을 수 있습니다.
댓글