"SQL UNION, UNION ALL 연산자"의 두 판 사이의 차이

 
(사용자 4명의 중간 판 9개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;UNOIN operator
;UNION operator
;UNION 연산자
;UNION 연산자
*[[SQL 집합 연산자]] 중 하나
*두 SQL 쿼리문의 결과를 합치는 연산자
*두 SQL 쿼리문의 결과를 합치는 연산자
*UNION은 중복된 행<ref>단, 모든 컬럼의 값이 동일한 것</ref>이 제외됨
*UNION은 중복된 행<ref>단, 모든 컬럼의 값이 동일한 것</ref>이 제외됨
7번째 줄: 8번째 줄:


==예시==
==예시==
*실습용 테이블 2개
{{소스헤더|실습용 테이블 2개}}
<source lang='cli'>
<source lang='console'>
mysql> SELECT * FROM sales1;
mysql> SELECT * FROM sales1;
+--------+--------+
+--------+--------+
18번째 줄: 19번째 줄:
+--------+--------+
+--------+--------+
</source>
</source>
*UNION 예시
<source lang='console'>
<source lang='cli'>
mysql> SELECT * FROM sales2;
mysql> SELECT * FROM sales2;
+--------+--------+
+--------+--------+
29번째 줄: 29번째 줄:
+--------+--------+
+--------+--------+
</source>
</source>
*UNION ALL 예시
 
<source lang='cli'>
{{소스헤더|UNION 예시}}
<source lang='console'>
mysql> SELECT * FROM sales1 UNION SELECT * FROM sales2;
mysql> SELECT * FROM sales1 UNION SELECT * FROM sales2;
+--------+--------+
+--------+--------+
42번째 줄: 43번째 줄:
+--------+--------+
+--------+--------+
</source>
</source>
:→ 행의 모든 값이 일치하는 (Alex, 2000) 행은 1개만 출력됨
:→ 행의 모든 값이 일치하는 (Alex, 2000) 행은 1개만 출력된다.
:→ 일부만 일치하는 행은 따로 출력됨. 예: (Joe, 1000)과 (Joe, 2000)
:→ 일부만 일치하는 행은 따로 출력된다. 예: (Joe, 1000)과 (Joe, 2000)


<source lang='cli'>
{{소스헤더|UNION ALL 예시}}
<source lang='console'>
mysql> SELECT * FROM sales1 UNION ALL SELECT * FROM sales2;
mysql> SELECT * FROM sales1 UNION ALL SELECT * FROM sales2;
+--------+--------+
+--------+--------+
58번째 줄: 60번째 줄:
+--------+--------+
+--------+--------+
</source>
</source>
:→ 모두 출력됨
:→ 모두 출력된다.


==같이 보기==
==같이 보기==
*[[합집합]]
*[[합집합]]
*[[SQL 집합 연산자]]
*[[SQL EXCEPT 연산자]]
*[[SQL EXCEPT 연산자]]
*[[MySQL 합집합, 교집합, 차집합, 대칭차]]
*[[UNION할 때 테이블명 컬럼 추가하기]]


==주석==
==참고==
<references/>
 
==참고 자료==
*https://en.wikipedia.org/wiki/Set_operations_(SQL)#UNION_operator
*https://en.wikipedia.org/wiki/Set_operations_(SQL)#UNION_operator


[[분류: SQL 연산자]]
[[분류: SQL 연산자]]

2020년 2월 27일 (목) 19:58 기준 최신판

1 개요[ | ]

UNION operator
UNION 연산자
  • SQL 집합 연산자 중 하나
  • 두 SQL 쿼리문의 결과를 합치는 연산자
  • UNION은 중복된 행[1]이 제외됨
  • UNION ALL은 중복된 행이 그대로 있음

2 예시[ | ]

실습용 테이블 2개
mysql> SELECT * FROM sales1;
+--------+--------+
| person | amount |
+--------+--------+
| Joe    |   1000 |
| Alex   |   2000 |
| Bob    |   5000 |
+--------+--------+
mysql> SELECT * FROM sales2;
+--------+--------+
| person | amount |
+--------+--------+
| Joe    |   2000 |
| Alex   |   2000 |
| Zach   |  35000 |
+--------+--------+
UNION 예시
mysql> SELECT * FROM sales1 UNION SELECT * FROM sales2;
+--------+--------+
| person | amount |
+--------+--------+
| Joe    |   1000 |
| Alex   |   2000 |
| Bob    |   5000 |
| Joe    |   2000 |
| Zach   |  35000 |
+--------+--------+
→ 행의 모든 값이 일치하는 (Alex, 2000) 행은 1개만 출력된다.
→ 일부만 일치하는 행은 따로 출력된다. 예: (Joe, 1000)과 (Joe, 2000)
UNION ALL 예시
mysql> SELECT * FROM sales1 UNION ALL SELECT * FROM sales2;
+--------+--------+
| person | amount |
+--------+--------+
| Joe    |   1000 |
| Alex   |   2000 |
| Bob    |   5000 |
| Joe    |   2000 |
| Alex   |   2000 |
| Zach   |  35000 |
+--------+--------+
→ 모두 출력된다.

3 같이 보기[ | ]

4 참고[ | ]

  1. 단, 모든 컬럼의 값이 동일한 것
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}