반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

[MySQL] Set Operations UNION, INTERSECT, EXCEPT 사용 방법 및 예시
SQL/MYSQL

[MySQL] Set Operations UNION, INTERSECT, EXCEPT 사용 방법 및 예시

2024. 8. 2. 09:15
728x90
반응형

MySQL에서의 Set Operations에 대해 자세히 알아보겠습니다.

Set Operations는 두 개 이상의 쿼리 결과를 하나의 결과 집합으로 결합하는 기능입니다. 대표적인 Set Operations로는 UNION, INTERSECT, EXCEPT가 있습니다.

먼저 UNION 연산자에 대해 살펴보겠습니다. UNION은 두 개의 쿼리 결과를 하나의 결과 집합으로 합칩니다. 중복되는 행은 하나만 표시됩니다. 

예를 들어, 다음과 같은 두 개의 테이블이 있다고 가정해 봅시다:

customers 테이블
+----+------------+----------+
| id | name       | city     |
+----+------------+----------+
|  1 | John Doe   | New York |
|  2 | Jane Smith | London   |
|  3 | Bob Johnson| Chicago  |
+----+------------+----------+

suppliers 테이블  
+----+------------+----------+
| id | name       | city     |
+----+------------+----------+
|  1 | ABC Corp   | New York |
|  2 | XYZ Inc    | Tokyo    |
|  3 | MNO Ltd    | London   |
+----+------------+----------+


이 두 테이블의 city 컬럼 값을 가져오는 쿼리를 UNION으로 결합할 수 있습니다:

SELECT city FROM customers
UNION
SELECT city FROM suppliers;


결과:

+----------+
| city     |
+----------+
| New York |
| London   |
| Chicago  |
| Tokyo    |
+----------+


INTERSECT 연산자는 두 개의 쿼리 결과에서 공통된 행만을 선택합니다. 위 예시에서 INTERSECT를 사용하면 customers 테이블과 suppliers 테이블에 모두 존재하는 'New York'과 'London'이 선택됩니다.

SELECT city FROM customers 
INTERSECT
SELECT city FROM suppliers;


결과:
1

+----------+
| city     |
+----------+
| New York |
| London   |
+----------+


마지막으로 EXCEPT 연산자는 왼쪽 쿼리 결과에서 오른쪽 쿼리 결과를 뺀 나머지 행을 선택합니다. 위 예시에서 EXCEPT를 사용하면 customers 테이블에만 존재하는 'Chicago'가 선택됩니다.

SELECT city FROM customers
EXCEPT 
SELECT city FROM suppliers;


결과:

+----------+
| city     |
+----------+
| Chicago  |
+----------+


이처럼 Set Operations를 사용하면 복잡한 쿼리를 보다 간단하고 효과적으로 작성할 수 있습니다. 특히 UNION, INTERSECT, EXCEPT 연산자를 적절히 활용하면 다양한 데이터 분석 및 처리 작업을 수행할 수 있습니다.

MySQL에서 Set Operations는 매우 강력한 기능이므로, 이를 잘 활용하면 데이터베이스 쿼리 작성 시 큰 도움을 받으실 수 있을 것입니다.

728x90
반응형

'SQL > MYSQL' 카테고리의 다른 글

[MySQL] ALL 사용 방법 및 예시  (0) 2024.08.07
[MySQL] ANY, IN, SOME 서브쿼리 사용 방법 및 예시  (0) 2024.08.06
[MySQL] Comparisons Using Subqueries(서브쿼리) 사용 방법 및 예시  (0) 2024.08.04
[MySQL] Subquery as Scalar Operand(서브쿼리) 사용 방법 및 예시  (0) 2024.08.03
[MySQL] Join 사용 방법 및 예시  (0) 2024.08.01
[MySQL] SELECT INTO 사용 방법 및 예시  (0) 2024.07.31
[MySQL] Parenthesized Query 사용 방법 및 예시  (0) 2024.07.29
[MySQL] LOAD DATA 사용 방법 및 예시  (0) 2024.07.28
    'SQL/MYSQL' 카테고리의 다른 글
    • [MySQL] Comparisons Using Subqueries(서브쿼리) 사용 방법 및 예시
    • [MySQL] Subquery as Scalar Operand(서브쿼리) 사용 방법 및 예시
    • [MySQL] Join 사용 방법 및 예시
    • [MySQL] SELECT INTO 사용 방법 및 예시
    Ant_U
    Ant_U

    티스토리툴바