SQL 구조는 질문에 맞게 선택하세요.
조인은 엔터티를 연결하고, 서브쿼리와 CTE는 논리를 구성하며, 분석 연산자는 맥락에 따른 값을 계산합니다. 구체화된 뷰는 반복 작업을 줄여 줍니다.
일치하는 엔터티를 결합하거나, 일치 여부를 검사하거나, 제외합니다.
중간 단계의 논리에 이름을 붙이고 복잡한 쿼리를 구성합니다.
순위, 누적값, 동일 순위 행을 고려한 값을 계산합니다.
투명한 쿼리 재작성을 통해 저장된 결과를 재사용합니다.
조인은 엔터티를 연결하고, 서브쿼리와 CTE는 논리를 구성하며, 분석 연산자는 맥락에 따른 값을 계산합니다. 구체화된 뷰는 반복 작업을 줄여 줍니다.
일치하는 엔터티를 결합하거나, 일치 여부를 검사하거나, 제외합니다.
중간 단계의 논리에 이름을 붙이고 복잡한 쿼리를 구성합니다.
순위, 누적값, 동일 순위 행을 고려한 값을 계산합니다.
투명한 쿼리 재작성을 통해 저장된 결과를 재사용합니다.
내부 조인, 외부 조인, 세미 조인, 안티 조인, 교차 조인은 같은 관계 키를 사용하더라도 서로 다른 질문에 답합니다.
조인 조건을 만족하는 행 쌍만 남깁니다.
한쪽 또는 양쪽에서 일치하지 않는 행도 남깁니다.
일치하는 행이 하나 이상 있으면 지정된 한쪽의 행을 반환합니다.
일치하는 행이 없을 때만 지정된 한쪽의 행을 반환합니다.
양쪽 입력의 데카르트 곱을 생성합니다.
범위나 부등식 조건으로 조인하며, 중첩 루프를 사용하는 경우가 많습니다.
Broadcast, Shuffle, Bucket Shuffle, Colocate 전략은 뒤로 갈수록 데이터 배치에 더 엄격한 조건을 요구하는 대신 유연성이 줄어듭니다.
서브쿼리는 관계형 질의를 다른 쿼리 안에 넣습니다. CTE는 중간 결과 집합에 이름을 붙이며 재귀적인 계층 구조도 표현할 수 있습니다.
값, 집합 또는 관계를 다른 표현식 안에 넣습니다.
주요 명령문 앞에서 쿼리 단계에 이름을 붙입니다.
GROUPING SETS는 원하는 그룹 조합을 정확히 지정하고, ROLLUP은 계층별 합계를 추가하며, CUBE는 모든 조합을 생성합니다.
명시적으로 지정한 그룹 조합만 계산합니다.
순서가 있는 차원 계층을 따라 소계를 추가합니다.
차원의 가능한 모든 그룹 조합을 계산합니다.
윈도우 함수는 각 행의 상세 정보를 유지하면서 순위, 오프셋, 누적 집계, 동일한 정렬값을 가진 행을 고려한 계산 결과를 추가합니다.
별칭 함수는 마이그레이션을 간소화하고, Java와 Python UDF는 사용자 정의 계산을 추가하며, 복합 타입은 중첩된 값도 쿼리할 수 있게 합니다.
호환되는 이름이나 재사용 가능한 표현식을 연결합니다.
스칼라, 집계, 윈도우 또는 테이블 로직을 구현합니다.
Python 생태계의 이점이 추가 실행 비용을 상쇄할 때 Python 로직을 사용합니다.
배열, 맵, 구조체, JSON을 먼저 평탄화하지 않고도 쿼리할 수 있습니다.
동기식 구체화된 뷰는 강한 일관성을 유지하며 단일 테이블 쿼리를 가속합니다. 비동기식 뷰는 갱신을 관리하면서 복잡한 다중 테이블 결과를 지원합니다.
기본 데이터와 함께 유지되며 단일 테이블 쿼리를 가속합니다.
갱신 정책에 따라 업데이트되는 유연한 저장 결과입니다.