데이터베이스 조인 예제

“SQL 조인이란 무엇입니까?” 섹션에서 소개한 테이블을 사용하여 이러한 조인의 예를 보여 드리겠습니다. 두 테이블 간의 관계는 customer_id 키에 의해 지정되며, 이는 고객 테이블의 “기본 키”와 주문 테이블의 “외래 키”입니다. 주문을 한 고객의 목록과 주문 한 세부 정보를 얻고 싶다고 가정 해 봅시다. 내부 조인은 두 테이블의 교차점에 레코드를 반환하므로 내부 조인에 적합합니다. SQL 조인을 사용하여 데이터를 다시 연결하여 사람이 쉽게 사용하고 이해할 수 있도록 할 수 있습니다. 한 테이블의 기본 키를 외래 키에 조인하는 데 사용되는 일반적인 조인 패턴입니다. 나는 이것이 자명하다고 생각하지만, 그것을 강조하는 것이 중요하다고 생각합니다. 왜 이런 일이 일어나고 있다고 생각할 수 있습니까? 오른쪽 외부 조인(또는 오른쪽 조인)은 테이블이 반전된 경우를 제외하고 왼쪽 외부 조인과 유사합니다. “오른쪽” 테이블(B)의 모든 행은 적어도 한 번은 조인된 테이블에 나타납니다.

“왼쪽” 테이블(A)의 일치하는 행이 없으면 Null은 B에 일치하지 않는 행에 대해 A의 열에 나타납니다. 몇 가지 다른 방법으로 이름 필드로 이 테이블을 조인하고 멋진 벤 다이어그램에 대한 개념적 일치를 얻을 수 있는지 살펴보겠습니다. 관계형 데이터베이스는 궁극적으로 데이터 테이블의 모음일 뿐이며, 각 테이블은 자체적으로 유용하지만 이웃에 조인할 때 기하급수적으로 더 유용합니다. 데이터 과학자는 출력에 데이터를 병합할 뿐만 아니라 특정 레코드 하위 집합을 표시하도록 필터링하는 네 가지 필수 조인 유형에 대한 기본적인 이해를 바탕으로 첫 번째 SQL 코스에 들어가면 경쟁에서 한 발 앞서 나갈 수 있습니다. 그러나 조인이 테이블 간의 관계를 정의하는 방법을 살펴보기 전에 먼저 키 필드가 무엇인지 이해해야 합니다. 데이터베이스 조인을 쉽게 읽고 사용할 수 있도록 데이터베이스를 다시 함께 스티치하는 것이 사용됩니다. 테이블 간의 행과 일치합니다. 대부분의 경우 한 테이블의 열 값을 다른 테이블과 일치시고 있습니다. 그래서, 우리의 코스와 객실 예에서, 방이없는 과정은 밖으로, 코스가없는 객실과 마찬가지로.

이것은 단지 과학 과정과 각각의 객실로 우리를 떠난다 : 우리가 특정 고객이 주문한 모든 주문을 찾고 싶다고 가정 해 봅시다. customer_id 키에 의해 설정된 관계를 사용하여 고객을 조인하고 테이블을 함께 주문하여 이 작업을 수행할 수 있습니다. 다음은 명령의 몰래 피크입니다, 나중에, 다른 기사에서, 우리는 더 많은 세부 사항에 도착. 샘플 데이터베이스에서 예제를 살펴보겠습니다. 직원 및 주문 테이블과 관련된 다음 데이터 모델을 고려합니다. 이 모델에서 각 직원은 0 개 이상의 주문을 할 수 있습니다. 많은 조인 알고리즘은 입력을 다르게 처리합니다. 조인에 대한 입력을 각각 “외부” 및 “내부” 조인 피연산자 또는 “왼쪽” 및 “오른쪽”으로 참조할 수 있습니다. 예를 들어 중첩 루프의 경우 데이터베이스 시스템은 외부 관계의 각 행에 대한 전체 내부 관계를 스캔합니다. 다음 벤 다이어그램을 살펴보십시오. 원은 테이블을 나타내며 조인 조건을 충족하는 행이 겹치는 위치를 나타냅니다.

관계형 데이터베이스는 일반적으로 엔터티 형식에 일대다 관계가 있는 경우와 같은 정보의 중복을 제거하기 위해 정규화됩니다. 예를 들어 부서가 여러 직원과 연결될 수 있습니다. 부서 및 직원을 위한 별도의 테이블을 조인하면 두 테이블의 정보를 결합하는 다른 테이블이 효과적으로 만들어집니다.