메인 콘텐츠로 건너뛰기

소개

배열 컬럼으로 ClickHouse 테이블을 필터링하는 일은 흔하며, ClickHouse는 배열 컬럼을 다루기 위한 다양한 함수를 제공합니다. 이 문서에서는 배열 컬럼으로 테이블을 필터링하는 방법에 중점을 두지만, 아래 동영상에서는 이 외에도 다양한 배열 관련 함수를 설명합니다:

예시

각각 문자열 배열과 정수 배열을 포함하는 두 개의 컬럼 tags_stringtags_int가 있는 테이블을 예시로 사용하겠습니다.
  • 예시용 데이터베이스와 테이블을 생성하세요.
  • 샘플 테이블을 생성합니다
  • 테이블에 샘플 데이터를 삽입하세요.
has(arr, elem) 함수를 사용해 arr 배열에 elem 요소가 포함된 행만 반환되도록 테이블을 필터링합니다. tags_string 배열에 tag1 요소가 포함된 행만 반환되도록 테이블을 필터링합니다.
hasAll(arr, elems) 함수를 사용하여 elems 배열의 모든 요소가 arr 배열에 포함된 행을 반환합니다. 테이블을 필터링하여 tags_string 배열의 모든 요소가 ['tag1', 'tag2'] 배열에 포함된 행을 반환합니다.
hasAny(arr, elems) 함수를 사용해 elems 배열의 요소 중 하나 이상이 arr 배열에 포함된 행을 반환합니다. 테이블을 필터링하여 tags_string 배열의 요소 중 하나 이상이 ['tag1', 'tag2'] 배열에 포함된 행을 반환합니다.
arrayExists(lambda, arr) 함수를 사용하면 람다 함수로 테이블을 필터링할 수 있습니다. tags_int 배열에서 하나 이상의 요소가 3보다 큰 행만 반환하도록 테이블을 필터링합니다.
마지막 수정일 2026년 6월 25일