스터디 노트🖊️_Day 33(SQL)

정설령·2023년 4월 17일

SQL

목록 보기
5/9
post-thumbnail

✔️ SQL 기초 10~12

UNION

  • 여러개의 SQL문을 합쳐서 하나의 SQL 문으로 만들어주는 방법
    - (단, 칼럼의 개수가 같아야 함)
  • UNION : 중복된 값을 제거하여 알려준다.
  • UNION ALL : 중복된 값도 모두 보여준다.



  • 직업이 가수인(가수를 포함하는) 데이터를 검색하는 쿼리와 직업이 텔런트인(텔런트를 포함하는) 데이터를 검색하는 쿼리를 중복을 제거하여 합쳐서 실행
  • 성이 이씨인 데이터를 검색하는 쿼리와 1970년대 생을 검색하는 쿼리를 중복을 포함하여 합쳐서 실행
  • 가수가 직업인 연예인의 이름, 직업을 검색하는 쿼리와, 1980년대에 태어난 연예인의 이름, 생년월일, 나이를 검색하는 쿼리를 UNION으로 실행
    → 컬럼수가 동일하지 않아 에러 발생
  • 컬럼수를 동일하게 조정('age' 컬럼 삭제) 후 위 조건 다시 실행
    → 첫 쿼리문 컬럼을 기준으로 합쳐져 원하는 결과값을 얻을 수 없음




※ 번외

  • 'birth' 컬럼명을 'birthday'로 변경

JOIN

  • 두 개 이상의 테이블을 결합 하는 것
  • snl_show 테이블 생성 및 데이터 입력



▷ INNER JOIN

  • 두 개의 테이블에서 공통된 요소들을 통해 결합하는 조인방식
  • 교집합
select column1, column2, ...
from tableA
INNER JOIN tableB
ON tableA.column = tableB.column
where conditions;

▷ 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;

▷ 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
  • MySQL에서는 FULL JOIN 지원하지 않으므로 UNION으로 합침
  • FULL OUTER JOIN = (LEFT JOIN) UNION (RIGHT JOIN)

▷ SELF JOIN

select column1, column2, ...
from tableA, tableB, ...
where conditions;
  • celeb 테이블의 연예인중, snl_show에 host로 출연했고, 영화배우는 아니면서 YG엔터테이먼트 소속이거나 40세이상이면서 YG엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사, 시즌, 에피소드 정보를 검색
  • snl_show에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나 소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색
  • snl_show 에 출연한 celeb 테이블의 연예인 중, 영화배우나 텔런트가 아닌 연예인의 아이디, 이름, 직업, 시즌, 에피소드 정보를 검색
  • snl_show 에 출연한 celeb 중, 작년 9월 15일 이후에 출연했거나 소속사 이름이 ‘엔터테이먼트’로 끝나지 않으면서 영화배우나 개그맨이 아닌 연예인의 celeb 아이디, 이름, 직업, 소속사를검색

"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다."

0개의 댓글