가입이란 무엇입니까?
– 하나 이상의 테이블에서 데이터가 필요한 경우 테이블을 조인해야 합니다.
– 일반적으로 조인 조건을 포함하는 WHERE 절을 작성해야 합니다.
– 조인 조건은 일반적으로 각 테이블의 PK와 FK로 구성됩니다.
가입 유형
– 내부 조인
– 외부 조인
– 왼쪽 외부 조인
– 오른쪽 외부 조인
JOIN 조건 사양의 다른 구분
– 자연 조인
– 교차 조인(전체 조인, 데카르트 조인)
JOIN에 대한 참고 사항
조인 처리에서 어떤 테이블을 먼저 읽을 것인지 결정하는 것이 중요합니다.
– INNER JOIN: 어떤 테이블을 먼저 읽어도 결과는 변하지 않기 때문에 MySQL 옵티마이저는 조인 순서를 조정하여 다양한 방식으로 최적화를 수행한다.
– OUTER JOIN: OUTER가 되는 테이블을 먼저 읽어야 하므로 옵티마이저는 조인 순서를 선택할 수 없다.
내부 조인
이것은 JOIN의 가장 일반적인 유형이며 교차입니다.
Equal-Join이라고도 하는 N-1 조인 조건은 N 테이블을 조인할 때 필요합니다.
외부 조인
LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN으로 구분
한 테이블에는 해당 데이터가 있고 다른 테이블에는 데이터가 없을 때 데이터가 검색되지 않는 문제를 해결하기 위해 사용
왼쪽 외부 조인
왼쪽 표를 기준으로 JOIN 조건에 맞지 않는 데이터까지 출력
오른쪽 외부 조인
오른쪽 표를 기준으로 JOIN 조건에 맞지 않는 데이터까지 출력
전체 아우터 조인
두 테이블을 기준으로 JOIN 조건에 맞지 않는 데이터 출력
셀프 조인
동일한 테이블 간 조인
동등하지 않은 JOIN
조인 조건으로 테이블의 PK 또는 EK 이외의 일반 컬럼 지정
하위 쿼리
– 하위 쿼리는 다른 쿼리 내부에 포함된 SELECT 문입니다.
– 하위 쿼리를 포함하는 쿼리를 외부 쿼리 또는 기본 쿼리라고 하며 하위 쿼리를 내부 쿼리라고도 합니다.
– 부질의는 비교연산자의 우측에 작성하고 괄호 ‘()’로 묶어야 한다.
하위 쿼리 유형
중첩 서브쿼리 WHERE 문으로 작성된 서브쿼리
1. 단일 행
2. 다중(다중) 행 – IN, ANY, ALL
3. 여러 열
인라인 뷰 – FROM 문으로 작성된 하위 쿼리
스칼라 하위 쿼리 – SELECT 문으로 작성된 하위 쿼리
하위 쿼리 주의 사항
– 서브 쿼리는 반드시 ( )로 묶어야 합니다.
– 하위 쿼리는 단일 행 또는 다중 행 비교 연산자와 함께 사용됩니다.
하위 쿼리를 사용할 수 있는 경우
– 선택하다
– 에서
– 어디
– 갖는
– 주문
– INSERT 문의 값
– UPDATE 문의 SET
중첩 서브쿼리
단일 행 – 하위 쿼리의 결과는 단일 행을 반환합니다.
여러 행 – 하위 쿼리는 여러 행을 반환합니다: IN, ANY, ALL
여러 열 – 하위 쿼리의 결과는 여러 열을 반환합니다.
인라인 보기
– FROM 절에서 사용되는 하위 쿼리를 인라인 뷰라고 합니다.
– FROM절에 서브쿼리를 사용하면 그 결과를 뷰처럼 동적으로 생성된 테이블로 사용할 수 있다.
– 임시 보기이므로 데이터베이스에 저장되지 않습니다.
– 동적으로 생성되는 테이블이므로 자유롭게 컬럼 참조 가능
스칼라 하위 쿼리
– SELECT 절의 하위 쿼리
– 하나의 행만 반환