Q1. 조인의 종류의 차이에 대해서 배우고 있어 쉽게 설명해줄래
- Inner join (내부 조인): 지정된 조건에 따라 두 테이블에서 일치하는 행만 반환합니다.
(공통열 2번) - Left Join: 지정된 조건에 따라 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 오른쪽 테이블에 일치하는 행이 없으면 오른쪽 테이블 열에 대해 NULL 값을 반환합니다.
- Right join : 지정된 조건에 따라 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환합니다. 왼쪽 테이블에 일치하는 행이 없으면 왼쪽 테이블 열에 대해 NULL 값을 반환합니다.
- Full Outer Join: 일치하지 않는 행을 포함하여 두 테이블의 모든 행을 반환합니다. 두 테이블에 일치하는 행이 없으면 일치하지 않는 테이블의 열에 대해 NULL 값을 반환합니다.
- Natural Join: 자연 조인은 이름과 데이터 유형이 동일한 열을 기반으로 두 테이블을 결합하는 일종의 내부 조인입니다. 특정 조건을 지정할 필요는 없지만 대신 일치하는 열 이름의 테이블을 자동으로 조인합니다. 그러나 이 유형의 조인은 동일한 이름을 가진 열이 실제로 관련되어 있다고 가정하기 때문에 위험할 수 있습니다. 항상 그렇지는 않을 수 있습니다.
- Cross join: 데카르트 조인이라고도 하는 크로스 조인은 한 테이블의 모든 행을 다른 테이블의 모든 행과 결합하여 두 테이블의 데카르트 곱을 생성합니다. 조건을 지정할 필요는 없지만 테이블이 큰 경우 빠르게 비효율적이 되고 많은 수의 행을 생성할 수 있습니다.
- 셀프 조인(Self Join): 셀프 조인은 테이블이 자신과 조인되는 일종의 조인입니다. 테이블에 관리자-직원 관계와 같은 계층적 관계가 포함되어 있을 때 유용합니다. 자체 조인에서는 동일한 테이블의 두 인스턴스를 구분하기 위해 별칭을 사용해야 합니다.
Q2. Natural join과 Inner join의 차이점에 대해 알려줄래?
공통열 하나만 출력 // 이너 조인은 함께 조인
틀림없이! 자연 조인은 실제로 이름과 데이터 유형이 동일한 열을 기반으로 두 테이블을 자동으로 조인하는 특정 유형의 내부 조인입니다.
Natural Join과 Inner Join의 주요 차이점은 Natural Join은 일치하는 열 이름을 사용하여 테이블을 조인하는 반면 Inner Join에서는 "ON" 키워드를 사용하여 조인 조건을 명시적으로 지정해야 한다는 것입니다. 즉, 자연 조인은 조인 조건이 이름과 데이터 유형이 동일한 열을 기반으로 할 때 내부 조인을 작성하는 약식 방법입니다.
Natural Join의 한 가지 잠재적인 단점은 동일한 이름을 가진 열이 실제로 관련되어 있다고 가정한다는 것입니다. 항상 그런 것은 아닙니다. 또한 테이블 스키마가 변경되고 열 이름이 수정되면 조인이 더 이상 의도한 대로 작동하지 않을 수 있습니다.
반면 명시적 조건과 함께 내부 조인을 사용하면 조인을 더 많이 제어할 수 있고 조인이 테이블 간의 특정 관계를 기반으로 하도록 할 수 있습니다.
공통열 하나만 출력 // 이너 조인은 함께 조인
틀림없이! 자연 조인은 실제로 이름과 데이터 유형이 동일한 열을
728x90
반응형
LIST
'자격증 > sqld' 카테고리의 다른 글
sqld 2일차 질문 (0) | 2023.03.07 |
---|---|
sqld 1일차 궁금한거 시각화 (0) | 2023.03.06 |