초이준철
물낌표
초이준철
전체 방문자
오늘
어제
  • 분류 전체보기 (59)
    • Python (6)
    • SQL (37)
    • 경험 (4)
    • Tableau (7)
      • Tableau 기본 (2)
      • Tableau 빅스데이터 22여름 대학생 TWBX (5)
    • 책으로 배우는 공부 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • MYSQL CASE문
  • mysql 문자열 자르기
  • MYSQL insert
  • mysql concat
  • 데이터 심리학
  • MYSQL desc
  • MYSQL 테이블 구조
  • mysql 문자열 연결
  • TWBX 대학생
  • 새빨간 거짓말 통계
  • TWBX 과제
  • MYSQL group by
  • 데벨챌
  • Mysql ifnull
  • 데이터리안
  • 물낌표
  • 데이터 분석 방법
  • MYSQL 집계함수
  • 통계책
  • mysql set

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
초이준철

?!

[MySQL] UNION의 기본 개념, 사용법을 예시로 쉽게
SQL

[MySQL] UNION의 기본 개념, 사용법을 예시로 쉽게

2022. 8. 15. 17:13

UNION이란? 2개 이상 테이블에 존재하는 같은 성격의 값을 하나의 쿼리로 추출하는 것

 

사용하기 전 유의사항

- 대응하는 칼럼의 이름이 다르다면 하나로 통일해주는 게  좋아요. 그래서 다르다면 AS(별칭)을 통해서 같게 해줍니다.

 

예시) TABLE_1의 asia 칼럼과 TABLE_2의 country 칼럼을 UNION을 통해 하나의 쿼리로 추출해보겠습니다.

TABLE_1
TABLE_2

 

1. 중복되지 않은 값만 추출하는 법 (= UNION DISTINCT or UNION)

SELECT asia AS 'country' FROM TABLE_1
UNION -- UNION DISTINCT과 결괏값이 같다
SELECT country FROM TABLE_2;

두 칼럼의 이름이 다르기 때문에 'country'로 통일 시켰어요. 단, 별칭은 UNION을 사용하기 전에 입력해줘야 해요

결괏값을 보면 중복이 허용 안되기 때문에 TABLE_2의 '한국'이 빠진 걸 알 수 있어요

결괏값

 

2. 중복 허용하고 모든 값 추출하는 법 (= UNION ALL)

SELECT asia AS 'country' FROM TABLE_1
UNION ALL
SELECT country FROM TABLE_2;

중복을 허용하고 모든 값을 추출하고 싶을 때는 UNION ALL을 사용하면 돼요

중복을 허용하고 모든 값을 추출했기 때문에 UNION 결괏값과 다르다는 걸 알 수 있어요

결괏값

 

3. 조건 및 정렬하기

SELECT asia AS 'country' FROM TABLE_1 WHERE num < 2
UNION
SELECT country FROM TABLE_2
ORDER BY country;

UNION을 사용할 때 WHERE절, ORDER BY절 등을 사용할 수 있어요.

결괏값을 보시면 조건 성립과 정렬이 잘 되어 있죠?

결괏값

 

저작자표시
    'SQL' 카테고리의 다른 글
    • [MySQL] 숫자형 함수 정리 (ABS, ROUND, CEILNG, FLOOR, POWER, SQR)
    • [MySQL] CASE 기본개념, 예제로 쉽게 이해하기
    • [MYSQL] 데이터 삭제하는 방법 DELETE, DROP, TRUNCATE
    • [MYSQL] UPDATE 기본 개념과 주의사항 알아보기
    초이준철
    초이준철
    WNWA

    티스토리툴바