여러 개의 SQL문을 합쳐서 하나의 SQL문으로 만들어주는 방법
(주의, 칼럼의 개수는 같아야함)
test1 = [1, 2, 3]
test2 = [5, 6, 3]
UNION: 중복된 값을 제거하여 보여줌
select * from test1 union select * from test2

select * from test1 union all select * from test2

create table snl_show ( ID int NOT NULL AUTO_INCREMENT PRIMARY KEY, SEASON int NOT NULL, EPISODE int NOT NULL, BROADCAST_DATE date, HOST varchar(32) NOT NULL );
JOIN 을 다루기위해 테이블은 아래 snl_show 테이블과 celeb 테이블을 이용하겠다.
snl_show 테이블




select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb inner join snl_show on celeb.name = snl_show.host;

select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb left join snl_show on celeb.name = snl_show.host;

select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb right join snl_show on celeb.name = snl_show.host;

두개의 테이블에서 공통영역을 포함해 양쪽 테이블의 다른 영역을 모두 포함하는 조인방식
현재 MySQL에서는 이 FULL OUTER JOIN 기능을 지원하지 않고 있다.
하지만 다음의 쿼리로 같은 결과를 만들 수 있다.
select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb left join snl_show on celeb.name = snl_show.host union select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb right join snl_show

join 기법 중 가장 많이 쓰임
snl_show에 호스트로 출연한 celeb 을 기준으로 celeb, snl_show 테이블을 self join
select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb, snl_show where celeb.name = snl_show.host;

select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb, snl_show where celeb.name = snl_show.host;

select name, season, episode, broadcast_date, agency from celeb, snl_show where name = host and (episode in (7,9,10) or agency like 'YG______%') and broadcast_date > '2020-09-15';
