(데이터베이스) JOIN

가입이란 무엇입니까?

– 하나 이상의 테이블에서 데이터가 필요한 경우 테이블을 조인해야 합니다.


– 일반적으로 조인 조건을 포함하는 WHERE 절을 작성해야 합니다.


– 조인 조건은 일반적으로 각 테이블의 PK와 FK로 구성됩니다.


가입 유형

– 내부 조인
– 외부 조인
– 왼쪽 외부 조인
– 오른쪽 외부 조인

JOIN 조건 사양의 다른 구분

– 자연 조인
– 교차 조인(전체 조인, 데카르트 조인)

JOIN에 대한 참고 사항

조인 처리에서 어떤 테이블을 먼저 읽을 것인지 결정하는 것이 중요합니다.


– INNER JOIN: 어떤 테이블을 먼저 읽어도 결과는 변하지 않기 때문에 MySQL 옵티마이저는 조인 순서를 조정하여 다양한 방식으로 최적화를 수행한다.


– OUTER JOIN: OUTER가 되는 테이블을 먼저 읽어야 하므로 옵티마이저는 조인 순서를 선택할 수 없다.

내부 조인

이것은 JOIN의 가장 일반적인 유형이며 교차입니다.


(데이터베이스) JOIN 1

Equal-Join이라고도 하는 N-1 조인 조건은 N 테이블을 조인할 때 필요합니다.


(데이터베이스) JOIN 2

외부 조인

LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN으로 구분

한 테이블에는 해당 데이터가 있고 다른 테이블에는 데이터가 없을 때 데이터가 검색되지 않는 문제를 해결하기 위해 사용


(데이터베이스) JOIN 3

왼쪽 외부 조인

왼쪽 표를 기준으로 JOIN 조건에 맞지 않는 데이터까지 출력


(데이터베이스) JOIN 4

오른쪽 외부 조인

오른쪽 표를 기준으로 JOIN 조건에 맞지 않는 데이터까지 출력


(데이터베이스) JOIN 5

전체 아우터 조인

두 테이블을 기준으로 JOIN 조건에 맞지 않는 데이터 출력


(데이터베이스) JOIN 6

셀프 조인

동일한 테이블 간 조인


(데이터베이스) JOIN 7


동등하지 않은 JOIN

조인 조건으로 테이블의 PK 또는 EK 이외의 일반 컬럼 지정


(데이터베이스) JOIN 8

하위 쿼리

– 하위 쿼리는 다른 쿼리 내부에 포함된 SELECT 문입니다.


– 하위 쿼리를 포함하는 쿼리를 외부 쿼리 또는 기본 쿼리라고 하며 하위 쿼리를 내부 쿼리라고도 합니다.


– 부질의는 비교연산자의 우측에 작성하고 괄호 ‘()’로 묶어야 한다.


하위 쿼리 유형

중첩 서브쿼리 WHERE 문으로 작성된 서브쿼리
1. 단일 행
2. 다중(다중) 행 – IN, ANY, ALL
3. 여러 열
인라인 뷰 – FROM 문으로 작성된 하위 쿼리
스칼라 하위 쿼리 – SELECT 문으로 작성된 하위 쿼리

하위 쿼리 주의 사항

– 서브 쿼리는 반드시 ( )로 묶어야 합니다.


– 하위 쿼리는 단일 행 또는 다중 행 비교 연산자와 함께 사용됩니다.


하위 쿼리를 사용할 수 있는 경우

– 선택하다
– 에서
– 어디
– 갖는
– 주문
– INSERT 문의 값
– UPDATE 문의 SET

중첩 서브쿼리

단일 행 – 하위 쿼리의 결과는 단일 행을 반환합니다.


(데이터베이스) JOIN 9

여러 행 – 하위 쿼리는 여러 행을 반환합니다: IN, ANY, ALL


(데이터베이스) JOIN 10

여러 열 – 하위 쿼리의 결과는 여러 열을 반환합니다.


(데이터베이스) JOIN 11

인라인 보기

– FROM 절에서 사용되는 하위 쿼리를 인라인 뷰라고 합니다.


– FROM절에 서브쿼리를 사용하면 그 결과를 뷰처럼 동적으로 생성된 테이블로 사용할 수 있다.


– 임시 보기이므로 데이터베이스에 저장되지 않습니다.


– 동적으로 생성되는 테이블이므로 자유롭게 컬럼 참조 가능


(데이터베이스) JOIN 12

스칼라 하위 쿼리

– SELECT 절의 하위 쿼리
– 하나의 행만 반환


(데이터베이스) JOIN 13