UNION
UNION 연산자는 여러 개의 SELECT 문을 합치는 데 사용됩니다.
결과가 중복되면 하나의 레코드만 조회됩니다.
UNION 을 활용하기 위해서는 테이블의 컬럼 값과 데이터 형식 이 같아야 합니다.
예를 들어, 데이터 형식 이 날짜(date)인 컬럼과 글자(string)인 레코드의 컬럼을 합칠 수는 없습니다.
지금까지 예제로 활용했던 users 테이블입니다.
id | name | age | gender |
1 | 가이름 | 20 | 남성 |
2 | 나이름 | 21 | 여성 |
3 | 다이름 | 22 | 남성 |
다음은 새로운 예제인 customers 테이블입니다.
id | name | age | gender |
3 | 다이름 | 22 | 남성 |
4 | 라이름 | 30 | 여성 |
5 | 마이름 | 24 | 여성 |
두 테이블 을 UNION 하려면, 다음과 같이 쿼리문을 작성할 수 있습니다.
SELECT *
FROM users
UNION
SELECT *
FROM customers;
해당 쿼리문의 결과는 다음과 같습니다.
id | name | age | gender |
1 | 가이름 | 20 | 남성 |
2 | 나이름 | 21 | 여성 |
3 | 다이름 | 22 | 남성 |
4 | 라이름 | 30 | 여성 |
5 | 마이름 | 24 | 여성 |
중복된 레코드였던 id = 3 , 다이름 은 1번만 조회되게 됩니다.
UNION ALL
만약, 중복된 레코드인 경우 2번 조회되어야 한다면 UNION ALL 을 사용할 수 있습니다.
동일한 예제에서 다음과 같이 UNION 을 UNION ALL 로 바꾸기만 하면 됩니다.
SELECT *
FROM users
UNION ALL
SELECT *
FROM customers;
해당 쿼리문의 결과는 다음과 같습니다.
id | name | age | gender |
1 | 가이름 | 20 | 남성 |
2 | 나이름 | 21 | 여성 |
3 | 다이름 | 22 | 남성 |
3 | 다이름 | 22 | 남성 |
4 | 라이름 | 30 | 여성 |
5 | 마이름 | 24 | 여성 |
'SQL' 카테고리의 다른 글
SQL 데이터 타입 원페이지 정리 (0) | 2022.06.03 |
---|---|
SQL 기초 CASE 문 쉬운 설명 (0) | 2022.06.03 |
SQL 기초 JOIN 절에 대한 쉬운 설명 (0) | 2022.06.03 |
SQL 기초 IN, BTWEEN 연산자 (0) | 2022.06.03 |
SQL 기초 LIKE 연산자 및 와일드카드 (0) | 2022.06.03 |