본문 바로가기
코딩 공부/web & Java

[SQL] Union

by 현장 2022. 9. 22.

Union

여러 개의 쿼리의 합집합으로 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법이다.

→ Join은 가로로 확장되며 합쳐지지만 Union은 세로로 확장되며 합쳐진다.

 

규칙

SELECT컬럼의 수가 같아야 한다.

컬럼명이 같아야 한다. ( 같지 않을 경우 alias를 사용하여 같게 만듦)

컬럼별 데이터타입이 같아야 한다. ( 반환 가능한 형태 )

하나의 ORDER BY만 사용한다.

SELECT문들의 순서는 상관없다.

 

1. UNION

여러 개의 쿼리의 중복 값을 제거한 결과이다.

SELECT
	m.m_id AS memberId
FROM
	tb_member AS m
UNION
	SELECT 
		g.g_seller_id AS memberId
	FROM
		tb_goods AS g
ORDER BY
	memberId ASC;

 

2. UNION ALL

여러 개의 쿼리 결과가 중복이 되더라도 전부 결과에 반영한다.

SELECT
	m.m_id AS memberId
FROM
	tb_member AS m
UNION ALL
	SELECT 
		g.g_seller_id AS memberId
	FROM
		tb_goods AS g
ORDER BY
	memberId ASC;

 

속도 :  UNOIN ALL >  UNION

'코딩 공부 > web & Java' 카테고리의 다른 글

[SQL] Stored Program(프로시저, 사용자 지정 함수, 트리거, 트랜잭션)  (0) 2022.09.23
[SQL] View  (0) 2022.09.23
[SQL] Sub Query  (0) 2022.09.22
[JSP, JAVA] JDBC  (0) 2022.09.21
[JAVA] EAR, WAR, JAR  (0) 2022.09.20