유형

이 페이지에서는 join의 일부인 type 파라미터를 참조합니다.

type측정기준, 필터, 파라미터 유형 문서 페이지에 설명된 대로 측정기준의 일부로도 사용할 수 있습니다.

type측정 유형 문서 페이지에 설명된 측정의 일부로도 사용할 수 있습니다.

type대시보드 매개변수 문서 페이지에 설명된 대로 대시보드 필터의 일부로도 사용할 수 있습니다.

type은 대시보드 요소의 일부로도 사용할 수 있으며, 이에 대한 설명은 type (LookML 대시보드용) 매개변수 문서 페이지를 참고하세요.

사용

explore: view_name {
  join: view_name_2 {
    type: inner
  }
}
계층 구조
type
기본값
left_outer

수락
조인 유형 (cross, full_outer, inner, left_outer)

특별 규칙
left_outer 이외의 type을 사용하는 경우 always_join을 사용하여 결과 행에 조인 제한이 포함되도록 할 수 있습니다.

정의

type을 사용하면 실행할 join 유형을 설명할 수 있습니다.

가능한 조인 유형 값은 이 페이지의 다음 섹션에 설명되어 있습니다.

left_outer (기본값)

Looker에서 가장 일반적인 조인 유형은 left_outer입니다 (자주 사용되는 이유는 이 페이지의 left_outer 조인 유형이 일반적으로 선호됨 섹션에 설명되어 있음). SQL에서는 LEFT JOIN로 알려져 있습니다. 이 type를 사용하면 Explore의 모든 행이 포함되고 조인된 뷰의 데이터가 있는 경우 가져옵니다.

full_outer

SQL에서 FULL OUTER JOIN로 알려진 full_outer 조인 유형은 다른 뷰의 해당 데이터가 없더라도 탐색 분석 및 조인된 뷰의 모든 행을 포함합니다.

inner

inner 조인 유형(SQL에서 JOIN 또는 INNER JOIN로 알려져 있음)에는 Explore와 조인된 뷰 모두에 일치하는 레코드가 있는 행만 포함됩니다.

cross

cross 조인 유형(SQL에서 CROSS JOIN로 알려짐)은 거의 사용되지 않습니다. 이 기능은 때때로 0 채우기 또는 매트릭스 생성에 유용합니다. Explore와 조인된 뷰의 모든 조합에 대해 행을 만듭니다.

예시

사용자가 주문하지 않은 경우에도 FULL OUTER JOIN를 사용하여 user 데이터를 order 데이터에 추가합니다.

explore: order {
  join: user {
    sql_on: ${order.user_id} = ${user.id} ;;
    type: full_outer
  }
}

INNER JOIN를 사용하여 event 데이터에 user 데이터를 추가하고 결과를 사용자가 생성한 이벤트로만 제한합니다.

explore: event {
  join: user {
    sql_on: ${event.user_id} = ${user.id} ;;
    type: inner
  }
}

CROSS JOIN을 사용하여 ownerproperty의 가능한 모든 조합을 생성합니다.

explore: property {
  join: owner {
    sql_on: 1 = 1 ;; # this sql_on condition is required in some dialects,
    type: cross      # but causes problems in other dialects, try adding or
  }                  # removing if you experience problems with cross joins
}

알아 두어야 할 사항

일반적으로 left_outer 조인 유형이 선호됩니다.

SQL을 학습하고 사용할 때 많은 사람들이 기술적으로 '내부 조인'이라고 하는 JOIN에 주로 집중합니다. 따라서 대부분의 경우 type: inner_join을 사용해야 한다고 가정할 수 있습니다. 하지만 Looker는 일반적으로 SQL에서 LEFT JOIN를 사용하는 것과 같은 type: left_outer를 사용할 때 가장 잘 작동합니다.

Explore에 조인된 뷰와 달리 Explore와 연결된 뷰는 일반적으로 '기본' 데이터이기 때문입니다. 예를 들어 이벤트 정보를 기반으로 탐색을 만들 수 있습니다. 일부 이벤트는 시스템에서 생성되고 다른 이벤트는 사용자가 생성할 수 있습니다. 일반 JOIN를 사용하여 userevent에 조인하면 사용자가 만든 이벤트만 볼 수 있으며 시스템 이벤트는 표시되지 않습니다. 대신 LEFT JOIN를 사용하면 연결된 사용자가 있는지 여부와 관계없이 모든 이벤트를 볼 수 있습니다.

행을 제한하는 것이 중요한 경우 always_join를 사용하는 것이 좋습니다.

Looker는 쿼리에 대한 SQL을 생성할 때 가능한 가장 깔끔한 SQL을 만들려고 시도하며 사용자가 선택한 필드에 필요한 조인만 사용합니다. type를 사용하여 LEFT JOIN 이외의 항목을 정의할 때 결과 행에 조인 제한이 포함되도록 특정 조인 (또는 조인 집합)이 항상 쿼리에 포함되도록 할 수 있습니다. always_join 매개변수를 사용하여 이를 수행할 수 있습니다.