MySQL < JOIN >

Zero·2022년 3월 23일
0

MySQL

목록 보기
7/12

1. JOIN(INNER JOIN) - 내부 조인

  • 양쪽 모두에 값이 있는 행(NOT NULL) 반환
  • 'INNER'는 선택사항
  • 교집합이라고 표현

데이터의 중복을 피하기 위하여 관계형 데이터베이스에서 테이블을 나누지만 , JOIN은 이를 적절하게 합쳐주는 역할을 한다.

-> C.CategoryID = P.CategoryID 에 맞춰 두 쿼리를 합친다.

-> P.SupplierID = S.SupplierID 를 통해 비교 후 알맞게 조인하여 출력 (Product, Phone, price)

💡 여러 테이블을 JOIN할 수 있습니다.

💡 JOIN한 테이블 GROUP하기

💡 SELF JOIN - 같은 테이블끼리

-> 같은 테이블인 Employees 에서 이름만 다르게 하여 JOIN 해준다 ,
이 결과는 해당 Employee의 다음 Employee 가 누구인지 알게 해준다.

2. LEFT/RIGHT OUTER JOIN - 외부 조인

  • 반대쪽에 데이터가 있든 없든(NULL), 선택된 방향에 있으면 출력 -행 수 결정
  • 'OUTER'는 선택사항

LEFT JOIN : 왼쪽 테이블을 기준으로 JOIN 하겠다.
RIGHT JOIN : 오른쪽 테이블을 기준으로 JOIN 하겠다.

-> SELF JOIN에서의 예제와 다르게 다음 Employee가 없더라도 해당 Employee를 출력해주고 이전의 Employee가 없더라도 출력해준다.

3. CROSS JOIN - 교차 조인

  • 조건 없이 모든 조합 반환(A * B)

-> 모든 경우의 수를 전부 출력함 ( 두 테이블을 JOIN 했을 때 )

0개의 댓글