[TIL 2021.09.09] 데이터베이스

Kyu·2021년 9월 9일
0

TIL

목록 보기
242/322
  1. SQL - UNION에 대해서 배움.
  2. MySQL에서 SELECT 시에 임의로 컬럼 추가하는 법을 배움.

UNION

UNION은 UNIONUNION ALL 명령어를 사용 할 수 있음.

UNION은 뒤에 DISTINCT를 생략한 것이라고 보면 된다.

그러므로 둘의 차이는 중복된 레코드를 가져오냐 아니냐의 차이임.

UNION은 두 테이블에서 비슷한 성질의 속성을 하나의 컬럼에 넣고 싶을 때 사용함.

예를 들어서,

A서점에 있는 책을 보관하는 table_a,

B서점에 있는 책을 보관하는 table_b.

각 테이블의 책 정보를 구분없이 하나의 테이블에 나타내고 싶다면?

이때 UNION을 쓸 수 있다.

(SELECT 제목, 출판사 FROM table_a)
UNION ALL
(SELECT title as 제목, publisher as 출판사 FROM table_b);

table_b 에는 속성이 영어로 title, publisher로 되어 있었는데,

UNION 하기 위해서 table_a와 똑같이 한글로 제목, 출판사라고 바꿔줬다.

쿼리를 실행하면 table_a와 table_b에 있는 모든 레코드에서 제목과 출판사라는 속성으로 테이블을 볼 수 있다.

UNION ALL 대신에 UNION을 사용하면 같은 레코드는 제거된다.

임의로 컬럼 추가

어떤 구분을 위해서 임의의 값과 컬럼을 추가해서 SELECT 하고 싶을 때가 있다.

(SELECT 제목, 출판사, 'A서점' AS 서점구분 FROM table_a)
UNION ALL
(SELECT title AS 제목, publisher AS, 'B서점' AS 서점구분 FROM table_b)

쿼리를 실행하면 결과 테이블에 속성하나가 추가되면서 서점구분이 테이블에 따라 "A서점"이나 "B서점" 으로 값이 삽입된다.

profile
TIL 남기는 공간입니다

0개의 댓글