SQL 기초6

고지현·2023년 6월 11일

SQL 기초

목록 보기
5/7

11. UNION

여러 개의 SQL 문을 합쳐서 하나의 SQL 문으로 만들어주는 방법(컬럼의 개수가 같아야한다.)

  • UNION : 중복된 값을 제거하고 알려줌
  • UNION ALL : 중복된 값도 모두 보여준다
SELECT column1, column1, ... FROM tableA
UNION | UNION ALL 
SELECT column1, column1, ... FROM tableB
  • test1 의 모든 데이터와 test2 의 모든 데이터를 중복된 값을 포함하여 검색

  • test1 의 모든 데이터와 test2 의 모든 데이터를 중복된 값을 제거하여 검색

  • 성별이 여자인 데이터를 검색하는 쿼리와 소속사가 YG엔터테이먼트인 데이터를 검색하는 쿼리를 UNION ALL로 실행

12. JOIN

두 개 이상의 테이블을 결합하는 것

  • INNER JOIN
  • FULL OUTER JOIN
  • LEFT JOIN
  • RIGHT JOIN

INNER JOIN

두개의 테이블에서 공통된 요소들을 통해 결합하는 조인방식

SELECT column1, column2, ...
FROM tableA
INNER JOIN tableB
ON tableA.column = tableB.column
WHERE condition; 
  • snl_show 에 호스트로 출연한 celeb 을 기준으로 celeb 테이블 과 snl_show 테이블을 INNER JOIN

LEFT JOIN

두개의 테이블에서 공통영역을 포함해 왼쪽 테이블의 다른 데이터를 포함하는 조인방식

SELECT column1, column2, ...
FROM tableA
LEFT JOIN tableB
ON tableA.column = tableB.column
WHERE condition; 

RIGHT JOIN

두개의 테이블에서 공통영역을 포함해 오른쪽 테이블의 다른 데이터를 포함하는 조인방식

SELECT column1, column2, ...
FROM tableA
RIGHT JOIN tableB
ON tableA.column = tableB.column
WHERE condition; 
  • snl_show 에 호스트로 출연한 celeb 을 기준으로 celeb 테이블과 snl_show 테이블을 RIGHT JOIN

FULL OUTER JOIN

두개의 테이블에서 공통영역을 포함하여 양쪽 테이블의 다른영역을 모두 포함하는 조인방식

SELECT column1, column2, ...
FROM tableA
FULL OUTER JOIN tableB
ON tableA.column = tableB.column
WHERE condition; 
  • MYSQL 에서는 FULL OUTER JOIN이 지원하지 않는다.
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; 
  • LEFT JOIN 과 RIGHT JOIN 을 UNION 하면 FULL OUTER JOIN 으로 사용할 수 있다.

  • snl_show 에 호스트로 출연한 celeb 을 기준으로 celeb 테이블과 snl_show xpdlqmfdmf FULL OUTER JOIN

SELF JOIN

JOIN 하는 테이블의 공통 영역을 가져온다.
INNER JOIN 과 비슷한 기능을 한다.

SELECT column1, column2, ... 
FROM tableA, tableB
WHERE condition; 
  • snl_show 에 호스트로 출연한 celeb 을 기준으로 celeb 테이블과 snl_show 테이블을 SELF JOIN

  • celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고 소속사가 안테나인 사람의 이름과 직업을 검색

  • celeb 테이블의 연예인 중, snl_show 에 host로 출연했고, 영화배우는 아니면서 YG엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사, 시즌, 에피소드 정보를 검색

  • snl_show 에 출연한 연예인의 snl_show 아이디, 시즌, 에피소드, 이름, 직업 정보를 검색

  • snl_show 에 출연한 celeb 중, 에피소드 7,9,10 중에 출연했거나 소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람의 데이터

0개의 댓글