MySQL
[MySQL] 52. UNION 연산자
Song hyun
2024. 7. 8. 15:23
728x90
반응형
[MySQL] 52. UNION 연산자
1. UNION 연산자의 정의
-UNION 연산자는 SQL에서 여러 SELECT 문의 결과를 하나의 결과 집합으로 결합할 때 사용된다. 즉, 서로 다른 테이블이나 같은 테이블의 다른 조건에서 검색된 데이터를 하나의 결과로 볼 수 있도록 하기 위해 사용한다.
2. UNION 연산자의 특징
-조건:
-중복 제거:
-중복 포함:
3. 시나리오 코드
(1) 테스트 데이터
-- students 테이블 생성
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50)
);
-- students 테이블에 샘플 데이터 삽입
INSERT INTO students (name, email) VALUES ('김철수', 'chulsoo@example.com');
INSERT INTO students (name, email) VALUES ('이영희', 'younghee@example.com');
INSERT INTO students (name, email) VALUES ('박민수', 'minsoo@example.com');
-- alumni 테이블 생성
CREATE TABLE alumni (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50)
);
-- alumni 테이블에 샘플 데이터 삽입
INSERT INTO alumni (name, email) VALUES ('김철수', 'chulsoo@example.com');
INSERT INTO alumni (name, email) VALUES ('최영수', 'youngsoo@example.com');
INSERT INTO alumni (name, email) VALUES ('이영희', 'younghee@example.com');
(2) UNION 사용하기
select name,email from students
union
select name, email from alumni;
(3) UNION ALL 사용하기
select name,email from students
union all
select name, email from alumni;
4. UNION과 JOIN의 차이점
-UNION과 JOIN은 모두 MySQL에서 여러 테이블의 데이터를 결합하는 데 사용되지만, 그 사용 목적과 방식이 다르다.
-> UNION은 여러 SELECT문의 결과를 수직으로 결합하여 하나의 결과 집합을 만든다. 중복된 행은 기본적으로 제거되며, UNION ALL을 사용하면 중복된 행도 포함된다.
->JOIN은 여러 테이블의 데이터를 공통된 열을 기준으로 수평으로 결합한다. 다양한 종류의 JOIN이 있으며, 각각 결합 방식이 다르다.
728x90
반응형