메인 콘텐츠로 건너뛰기
SQL 콘솔은 ClickHouse Cloud에서 데이터베이스를 탐색하고 쿼리하는 가장 빠르고 쉬운 방법입니다. SQL 콘솔을 사용하면 다음 작업을 수행할 수 있습니다:
  • ClickHouse Cloud 서비스에 연결
  • 테이블 데이터를 보고, 필터링하고, 정렬
  • 몇 번의 클릭만으로 쿼리를 실행하고 결과 데이터를 시각화
  • 팀원과 쿼리를 공유하여 더욱 효율적으로 협업

테이블 살펴보기

테이블 목록 및 스키마 정보 보기

ClickHouse 인스턴스에 포함된 테이블의 개요는 왼쪽 사이드바에서 확인할 수 있습니다. 특정 데이터베이스의 테이블을 보려면 왼쪽 사이드바 상단의 데이터베이스 셀렉터를 사용하세요 목록의 테이블은 확장하여 컬럼과 타입을 볼 수도 있습니다

테이블 데이터 탐색

목록에서 테이블을 클릭하면 새 탭에서 열립니다. Table View에서는 데이터를 쉽게 보고, 선택하고, 복사할 수 있습니다. Microsoft Excel 및 Google Sheets와 같은 스프레드시트 애플리케이션에 복사해 붙여넣을 때도 구조와 서식이 유지됩니다. 하단의 탐색 기능을 사용해 테이블 데이터 페이지(30행 단위로 구분됨)를 넘길 수 있습니다.

셀 데이터 확인

Cell Inspector 도구를 사용하면 단일 셀에 들어 있는 많은 양의 데이터를 확인할 수 있습니다. 열려면 셀을 마우스 오른쪽 버튼으로 클릭한 다음 ‘Inspect Cell’을 선택하십시오. Cell Inspector의 내용은 오른쪽 상단에 있는 복사 아이콘을 클릭하여 복사할 수 있습니다.

테이블 필터링 및 정렬

테이블 정렬하기

SQL 콘솔에서 테이블을 정렬하려면 테이블을 연 다음 도구 모음에서 ‘정렬’ 버튼을 선택합니다. 이 버튼을 클릭하면 정렬을 구성할 수 있는 메뉴가 열립니다. 정렬 기준 컬럼을 선택하고 정렬 순서(오름차순 또는 내림차순)를 설정할 수 있습니다. ‘적용’을 선택하거나 Enter 키를 눌러 테이블을 정렬합니다 SQL 콘솔에서는 테이블에 여러 개의 정렬을 추가할 수도 있습니다. 다른 정렬을 추가하려면 ‘정렬’ 버튼을 다시 클릭합니다. 참고: 정렬은 정렬 창에 표시된 순서(위에서 아래)대로 적용됩니다. 정렬을 제거하려면 해당 정렬 옆의 ‘x’ 버튼을 클릭하면 됩니다.

테이블 필터링

SQL 콘솔에서 테이블을 필터링하려면 테이블을 열고 ‘Filter’ 버튼을 선택합니다. 정렬과 마찬가지로 이 버튼을 클릭하면 필터를 구성할 수 있는 메뉴가 열립니다. 필터링할 컬럼을 선택하고 필요한 조건을 지정할 수 있습니다. SQL 콘솔은 컬럼에 포함된 데이터 유형에 맞는 필터 옵션을 자동으로 표시합니다. 필터 설정이 원하는 대로 되었으면 ‘Apply’를 선택하여 데이터를 필터링합니다. 아래와 같이 필터를 추가로 설정할 수도 있습니다. 정렬 기능과 마찬가지로 필터 옆의 ‘x’ 버튼을 클릭하면 해당 필터가 제거됩니다.

필터링과 정렬 함께 사용하기

SQL 콘솔에서는 table에 필터와 정렬을 동시에 적용할 수 있습니다. 이렇게 하려면 위에서 설명한 단계에 따라 원하는 필터와 정렬을 모두 추가한 다음 “Apply” 버튼을 클릭하십시오.

필터와 정렬에서 쿼리 만들기

SQL 콘솔에서는 클릭 한 번으로 정렬 및 필터 설정을 바로 쿼리로 변환할 수 있습니다. 원하는 정렬 및 필터 매개변수를 선택한 다음, 도구 모음에서 ‘Create Query’ 버튼을 클릭하세요. ‘Create Query’를 클릭하면 테이블 뷰에 표시된 데이터에 해당하는 SQL 명령이 미리 입력된 새 쿼리 탭이 열립니다.
‘Create Query’ 기능을 사용할 때 필터와 정렬은 필수가 아닙니다.
SQL 콘솔에서 쿼리하는 방법에 대한 자세한 내용은 (link) 쿼리 문서를 참조하세요.

쿼리 생성 및 실행

쿼리 만들기

SQL 콘솔에서 새 쿼리를 만드는 방법은 두 가지입니다.
  • 탭 표시줄에서 ’+’ 버튼을 클릭합니다
  • 왼쪽 사이드바의 쿼리 목록에서 ‘New Query’ 버튼을 선택합니다

쿼리 실행하기

쿼리를 실행하려면 SQL Editor에 SQL 명령을 입력한 후 ‘Run’ 버튼을 클릭하거나 cmd / ctrl + enter 단축키를 사용하십시오. 여러 명령을 순차적으로 작성하고 실행하려면 각 명령 끝에 세미콜론을 추가해야 합니다. 쿼리 실행 옵션 기본적으로 실행 버튼을 클릭하면 SQL Editor에 포함된 모든 명령이 실행됩니다. SQL 콘솔은 다음과 같은 두 가지 추가 쿼리 실행 옵션도 지원합니다:
  • 선택한 명령 실행
  • 커서 위치의 명령 실행
선택한 명령을 실행하려면 원하는 명령 또는 명령 시퀀스를 선택한 다음 ‘Run’ 버튼을 클릭하십시오(또는 cmd / ctrl + enter 단축키를 사용하십시오). 선택 영역이 있는 경우, SQL Editor 컨텍스트 메뉴(에디터 내부 아무 곳이나 마우스 오른쪽 버튼으로 클릭해 열 수 있음)에서 ‘Run selected’를 선택할 수도 있습니다. 현재 커서 위치의 명령은 다음 두 가지 방법으로 실행할 수 있습니다:
  • 확장 실행 옵션 메뉴에서 ‘At Cursor’를 선택합니다(또는 해당 cmd / ctrl + shift + enter 키보드 단축키를 사용합니다
  • SQL Editor 컨텍스트 메뉴에서 ‘Run at cursor’를 선택합니다
커서 위치에 있는 명령은 실행 시 노란색으로 깜박입니다.

쿼리 취소하기

쿼리가 실행 중일 때는 Query Editor 도구 모음의 ‘Run’ 버튼이 ‘Cancel’ 버튼으로 바뀝니다. 이 버튼을 클릭하거나 Esc를 눌러 쿼리를 취소하세요. 참고: 이미 반환된 결과는 취소 후에도 유지됩니다.

쿼리 저장하기

이전에 이름을 지정하지 않았다면 쿼리 이름은 ‘Untitled Query’로 표시됩니다. 이름을 변경하려면 쿼리 이름을 클릭하세요. 쿼리 이름을 바꾸면 쿼리가 저장됩니다. 저장 버튼이나 cmd / ctrl + s 키보드 단축키를 사용해 쿼리를 저장할 수도 있습니다.

GenAI를 사용하여 쿼리 관리하기

이 기능을 사용하면 자연어 질문을 입력하고, 쿼리 콘솔이 사용 가능한 테이블 정보를 바탕으로 SQL 쿼리를 생성하게 할 수 있습니다. GenAI는 쿼리 디버깅에도 도움을 줍니다. GenAI에 대한 자세한 내용은 ClickHouse Cloud의 GenAI 기반 쿼리 제안 발표 블로그 게시물을 참조하십시오.

테이블 설정

UK Price Paid 예시 데이터셋을 가져와 이를 바탕으로 몇 가지 GenAI 쿼리를 만들어 보겠습니다.
  1. ClickHouse Cloud 서비스를 엽니다.
  2. + 아이콘을 클릭하여 새 쿼리를 만듭니다.
  3. 다음 코드를 붙여넣고 실행합니다.
    CREATE TABLE uk_price_paid
    (
        price UInt32,
        date Date,
        postcode1 LowCardinality(String),
        postcode2 LowCardinality(String),
        type Enum8('terraced' = 1, 'semi-detached' = 2, 'detached' = 3, 'flat' = 4, 'other' = 0),
        is_new UInt8,
        duration Enum8('freehold' = 1, 'leasehold' = 2, 'unknown' = 0),
        addr1 String,
        addr2 String,
        street LowCardinality(String),
        locality LowCardinality(String),
        town LowCardinality(String),
        district LowCardinality(String),
        county LowCardinality(String)
    )
    ENGINE = MergeTree
    ORDER BY (postcode1, postcode2, addr1, addr2);
    
    이 쿼리는 완료되는 데 약 1초가 걸립니다. 완료되면 uk_price_paid라는 이름의 빈 테이블이 생성됩니다.
  4. 새 쿼리를 만들고 다음 쿼리를 붙여넣습니다.
    INSERT INTO uk_price_paid
    WITH
       splitByChar(' ', postcode) AS p
    SELECT
        toUInt32(price_string) AS price,
        parseDateTimeBestEffortUS(time) AS date,
        p[1] AS postcode1,
        p[2] AS postcode2,
        transform(a, ['T', 'S', 'D', 'F', 'O'], ['terraced', 'semi-detached', 'detached', 'flat', 'other']) AS type,
        b = 'Y' AS is_new,
        transform(c, ['F', 'L', 'U'], ['freehold', 'leasehold', 'unknown']) AS duration,
        addr1,
        addr2,
        street,
        locality,
        town,
        district,
        county
    FROM url(
        'http://prod.publicdata.landregistry.gov.uk.s3-website-eu-west-1.amazonaws.com/pp-complete.csv',
        'CSV',
        'uuid_string String,
        price_string String,
        time String,
        postcode String,
        a String,
        b String,
        c String,
        addr1 String,
        addr2 String,
        street String,
        locality String,
        town String,
        district String,
        county String,
        d String,
        e String'
    ) SETTINGS max_http_get_redirects=10;
    
이 쿼리는 gov.uk 웹사이트에서 데이터셋을 가져옵니다. 이 파일은 약 4GB이므로 쿼리 완료까지 몇 분 정도 걸립니다. ClickHouse가 쿼리 처리를 마치면 전체 데이터셋이 uk_price_paid 테이블에 저장됩니다.

쿼리 생성

자연어를 사용해 쿼리를 생성해 보겠습니다.
  1. uk_price_paid 테이블을 선택한 다음 Create Query를 클릭합니다.
  2. Generate SQL을 클릭합니다. 쿼리가 Chat-GPT로 전송된다는 내용에 동의하라는 메시지가 표시될 수 있습니다. 계속하려면 I agree를 선택해야 합니다.
  3. 이제 이 프롬프트에 자연어 쿼리를 입력하면 ChatGPT가 이를 SQL 쿼리로 변환합니다. 이 예시에서는 다음과 같이 입력합니다:
    연도별로 모든 uk_price_paid 거래의 총금액과 총건수를 보여줘.
  4. 콘솔에서 원하는 쿼리를 생성해 새 탭에 표시합니다. 이 예시에서 GenAI는 다음 쿼리를 생성했습니다:
    -- 연도별로 모든 uk_price_paid 거래의 총금액과 총건수를 보여줘.
    SELECT year(date), sum(price) as total_price, Count(*) as total_transactions
    FROM uk_price_paid
    GROUP BY year(date)
    
  5. 쿼리가 올바른지 확인한 후 Run을 클릭해 실행합니다.

디버깅

이제 GenAI의 쿼리 디버깅 기능을 테스트해 보겠습니다.
  1. + 아이콘을 클릭해 새 쿼리를 만든 다음, 다음 코드를 붙여넣으세요.
    -- 연도별로 모든 uk_price_paid 거래의 총금액과 총건수를 보여줍니다.
    SELECT year(date), sum(pricee) as total_price, Count(*) as total_transactions
    FROM uk_price_paid
    GROUP BY year(date)
    
  2. Run을 클릭하세요. price가 아니라 pricee에서 값을 가져오려고 하기 때문에 쿼리가 실패합니다.
  3. Fix Query를 클릭하세요.
  4. GenAI가 쿼리 수정을 시도합니다. 이 경우 priceeprice로 변경했습니다. 또한 이 상황에서는 toYear가 더 적합한 함수라는 점도 파악했습니다.
  5. Apply를 선택해 제안된 변경 사항을 쿼리에 반영한 다음 Run을 클릭하세요.
GenAI는 실험적 기능이라는 점을 유념하세요. GenAI가 생성한 쿼리를 데이터셋에 대해 실행할 때는 주의하십시오.

고급 쿼리 기능

쿼리 결과 검색

쿼리가 실행된 후에는 결과 창의 검색 입력란을 사용해 반환된 결과 세트를 빠르게 검색할 수 있습니다. 이 기능은 추가 WHERE 절을 적용했을 때의 결과를 미리 확인하거나, 특정 데이터가 결과 세트에 포함되어 있는지 간단히 점검하는 데 도움이 됩니다. 검색 입력란에 값을 입력하면 결과 창이 업데이트되며, 입력한 값과 일치하는 항목이 포함된 레코드가 반환됩니다. 이 예시에서는 hackernews 테이블에서 ClickHouse를 포함하는 댓글 중 breakfast가 나타나는 모든 경우를 찾아보겠습니다(대소문자 구분 없음): 참고: 입력한 값과 일치하는 모든 필드가 반환됩니다. 예를 들어, 위 스크린샷의 세 번째 레코드는 by 필드에서는 ‘breakfast’와 일치하지 않지만 text 필드에서는 일치합니다:

페이지 매김 설정 조정

기본적으로 결과 창에는 모든 쿼리 결과 레코드가 한 페이지에 표시됩니다. 결과 집합이 큰 경우에는 더 쉽게 확인할 수 있도록 결과를 페이지별로 나누어 보는 것이 좋습니다. 이는 결과 창 오른쪽 아래에 있는 페이지 매김 셀렉터를 사용해 설정할 수 있습니다: 페이지 크기를 선택하면 결과 집합에 즉시 페이지 매김이 적용되며, 탐색 옵션은 결과 창 하단의 가운데에 표시됩니다

쿼리 결과 데이터 내보내기

쿼리 결과 집합은 SQL 콘솔에서 직접 CSV 형식으로 손쉽게 내보낼 수 있습니다. 이렇게 하려면 결과 창 도구 모음 오른쪽에 있는 ••• 메뉴를 열고 ‘CSV로 다운로드’를 선택하세요.

쿼리 데이터 시각화

일부 데이터는 차트 형태로 보면 더 쉽게 이해할 수 있습니다. 몇 번만 클릭하면 SQL 콘솔에서 쿼리 결과 데이터를 바로 시각화할 수 있습니다. 예시로, NYC 택시 운행 데이터의 주간 통계를 계산하는 쿼리를 사용하겠습니다:
SELECT
   toStartOfWeek(pickup_datetime) AS week,
   sum(total_amount) AS fare_total,
   sum(trip_distance) AS distance_total,
   count(*) AS trip_total
FROM
   nyc_taxi
GROUP BY
   1
ORDER BY
   1 ASC
시각화가 없으면 이러한 결과는 해석하기 어렵습니다. 차트로 만들어 보겠습니다.

차트 만들기

시각화를 만들기 시작하려면 쿼리 결과 창 도구 모음에서 “Chart” 옵션을 선택하십시오. 차트 구성 패널이 나타납니다: 먼저 weektrip_total을 보여주는 간단한 막대 차트를 만들어 보겠습니다. 이렇게 하려면 week 필드를 x축으로, trip_total 필드를 y축으로 끌어다 놓습니다: 대부분의 차트 유형은 숫자 축에 여러 필드를 지원합니다. 이를 확인하기 위해 fare_total 필드를 y축으로 끌어다 놓겠습니다:

차트 사용자 지정

SQL 콘솔은 차트 구성 패널의 차트 유형 셀렉터에서 선택할 수 있는 10가지 차트 유형을 지원합니다. 예를 들어, 이전 차트를 막대 차트에서 영역 차트로 쉽게 변경할 수 있습니다: 차트 제목은 데이터를 제공하는 쿼리 이름과 일치합니다. 쿼리 이름을 변경하면 차트 제목도 함께 업데이트됩니다: 보다 고급 차트 속성도 차트 구성 패널의 ‘Advanced’ 섹션에서 조정할 수 있습니다. 먼저 다음 설정을 조정해 보겠습니다:
  • 부제목
  • 축 제목
  • x축 레이블 방향
그러면 차트가 다음과 같이 업데이트됩니다: 일부 경우에는 각 필드의 축 스케일을 개별적으로 조정해야 할 수 있습니다. 이 역시 차트 구성 패널의 ‘Advanced’ 섹션에서 축 범위의 최소값과 최대값을 지정해 수행할 수 있습니다. 예를 들어 위 차트도 보기에는 좋지만, trip_total 필드와 fare_total 필드의 상관관계를 보여주려면 축 범위를 어느 정도 조정해야 합니다:

쿼리 공유

SQL 콘솔에서는 팀과 쿼리를 공유할 수 있습니다. 쿼리를 공유하면 팀의 모든 구성원이 해당 쿼리를 보고 편집할 수 있습니다. 공유된 쿼리는 팀 협업에 유용합니다. 쿼리를 공유하려면 쿼리 도구 모음에서 ‘Share’ 버튼을 클릭하세요. 대화 상자가 열리며, 여기서 팀의 모든 구성원과 쿼리를 공유할 수 있습니다. 여러 팀에 속해 있다면 쿼리를 공유할 팀을 선택할 수 있습니다. 일부 상황에서는 각 필드의 축 눈금 범위를 독립적으로 조정해야 할 수 있습니다. 이 작업은 차트 구성 패널의 ‘Advanced’ 섹션에서 축 범위의 최소값과 최대값을 지정해 수행할 수도 있습니다. 예시로, 위 차트는 보기에는 좋지만 trip_totalfare_total 필드 사이의 상관관계를 보여주려면 축 범위를 다소 조정해야 합니다.
마지막 수정일 2026년 6월 10일