주의 : 칼럼의 개수가 같아야함
union : 중복된 값을 제거하여 알려준다
union all : 중복된 값도 모두 보여준다
select column1, column2, ...
from tableA
union | union all
select column1, column2,...
from tableB;
실습 : 성별이 여자인 데이터를 검색하는 쿼리와 소속사가 YG엔터테이먼트인 데이터를 검색하는 쿼리를 UNION ALL로 실행 '이수현'은 여성이면서도 'YG엔터테이먼트' 소속이기 때문에 중복으로 나옴
JOIN의 기초 문법 안내
JOIN 원하는 테이블 AS 약칭 ON 기준1 = 기준2
- Tip1. 기준1과 기준2는 데이터 구조도 동일하게 하는 것을 권장한다.
왼쪽 테이블을 기준으로 일치하는 행만 결합되고, 일치하지 않는 부분은 null 값으로 채워짐.
오른쪽 테이블을 기준으로 일치하는 행만 결합되고, 일치하지 않는 부분은 null 값으로 채워짐.
이때 두 테이블 모두의 값을 유지하면 Full Outer Join
왼쪽 테이블 값만 유지하면 Left Outer Join
오른쪽 테이블 값만 유지하면 Right Outer Join
MySQL에서는 FULL OUTER JOIN을 지원하지 않으므로 LEFT OUTER JOIN 결과와 RIGHT OUTER JOIN결과를 UNION 하여 사용해야 함
self join은 주로 테이블에 Hierarchical structure가 있을 때 flat structure로 바꾸는 역할을 해준다. 예를 들어 설명하자면, employee 들의 정보가 담긴 테이블이 아래처럼 있다고 하자.
위 테이블을 보면 김수현과 이민호가 다 노은지에게 보고를 하게 된다. 이 때 김수현과 이민호의 상사 이름을 같은 행에 출력하고 싶을 때 self join을 쓰면 되는것!.