2019. 5. 8. 14:33ㆍIT-개발/DB
select 로 생성된 결과 data들을 붙여서 1개로 표현, 중복되도 표현하면 UNION ALL, 아니면 UNION ~
쉽게 정리된 곳 Link :
https://zetawiki.com/wiki/SQL_UNION,_UNION_ALL_%EC%97%B0%EC%82%B0%EC%9E%90
- 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 |
+--------+--------+
→ 모두 출력됨
'IT-개발 > DB' 카테고리의 다른 글
[mariadb] utf-8 설정하기 (0) | 2019.07.09 |
---|---|
[mariadb] 유용한 명령어 모음 (펌 + 혼합) (0) | 2019.05.08 |
[MariaDB] 기초정보 (1) (0) | 2019.04.12 |
반드시 알아야할 MySQL 특징 세 가지 (펌) (0) | 2019.03.14 |
MariaDB 설치 및 사용 (펌) (0) | 2019.02.27 |