SELECT column1, column2.. FROM tableA
UNION | UNION ALL
SELECT column1, column2.. FROM tableB;
# 성별이 여자인 데이터를 검색하는 쿼리와 소속사가 YG엔터테이먼트인 데이터를 검색하는 쿼리를 UNION 으로 실행
SELECT name, sex, agency FROM celeb WHERE sex='F'
UNION
SELECT name, sex, agency FROM celeb WHERE agency='YG엔터테이먼트';
SELECT column1, column2..
FROM tableA
INNER JOIN tableB
ON tableA.column = tableB.column
WHERE condition;
# snl_show 에 호스트로 출연한 celeb 을 기준으로 celeb 테이블과 snl_show 테이블을 INNER JOIN
SELECT celeb.id, celeb.name, snl_show.id, snl_show.host
FROM celeb
INNER JOIN snl_show
ON celeb.name = snl_show.host
SELECT column1, column2..
FROM tableA
LEFT JOIN tableB
ON tableA.column = tableB.column
WHERE condition;
SELECT column1, column2..
FROM tableA
RIGHT JOIN tableB
ON tableA.column = tableB.column
WHERE condition;
SELECT column1, column2..
FROM tableA
LEFT JOIN tableB
ON tableA.column = tableB.column
UNION
SELECT column1, column2..
FROM tableA
RIGHT JOIN tableB
ON tableA.column = tableB.column
WHERE condition;
'''
SELECT column1, column2..
FROM tableA
FULL OUTER JOIN tableB
ON tableA.column = tableB.column
WHERE condition;
'''
SELECT column1, column2..
FROM tableA, tableB,..
WHERE condition;
1) celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사 정보, 시즌, 에피소드를 검색
SELECT celeb.name, celeb.age, celeb.job_title, celeb.agency, snl_show.season, snl_show.episode
FROM celeb, snl_show
WHERE celeb.name = snl_show.host
AND ((NOT job_title LIKE '%영화배우%' AND agency='YG엔터테이먼트') OR (age>=40 AND agency != 'YG엔터테이먼트'));
2) snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나 소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 2020년 9월 15일 이후에 출연했던 사람을 검색
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';
Reference
1) 제로베이스 데이터스쿨 강의자료