MySQL, 테이블조인(join)

paikpaik·2023년 7월 16일
0

DB, SQL(MySQL)

목록 보기
8/9
post-thumbnail

join

SQL에게 JOIN이란?

  • 두 개 이상의 table들에 있는 데이터를 한 번에 조회하는 것.
  • 여러 종류의 JOIN이 존재한다.

implicit join vs explicit join

implicit join

explicit join

  • join은 explicit join으로 쓰는게 좋다!

inner join vs outer join

  • 두 테이블로 join을 해보려고 함.

inner join

  • inner는 생략가능

outer join

  • outer는 생략가능
  • LEFT OUTER JOIN
  • RIGHT OUTER JOIN
  • FULL OUTER JOIN (MySQL에서는 지원되지 않는 기능임! pgrsql에서는 가능)

equi join

equi join

  • join condition에서 = (equality comparator)를 사용하는 join
  • 4가지 전부 equi join임

equi join에 대한 두 가지 시각

  • inner join outer join 상관없이 = 를 사용한 join이라면 equi join으로 보는 경우.
  • inner join으로 한정해서 = 를 사용한 경우에 equi join으로 보는 경우.

using

  • equi join을 사용하는데 중복 attribute가 있다면 using을 사용할 수 있음
  • using 사용 전
  • using 사용 후

USING

  • USING을 사용할 때 꼭 하나의 attribute만 넣을 필요는 없음. 중복되는 attributes를 다 넣으면 됨!

natural join

natural join

  • natural join은 중복되는 attributes가 using(attribute1,attribute2)이런식으로 동작하기 때문에 잘 확인해야 한다.

cross join

cross join

  • implicit cross join
  • explicit cross join

cross join @ MySQL

self join

self join

join을 사용한 예제

join example 1

  • ID가 1003인 부서에 속하는 임직원 중 리더를 제외한 부서원의 ID, 이름, 연봉을 알고 싶다.

join example 2

  • ID가 2001인 프로젝트에 참여한 임직원들의 이름과 직군과 소속 부서 이름을 알고 싶다.
출처 : 쉬운코드
profile
매일 앞으로 나아가는 개발자

0개의 댓글