🖥️ IT, 컴퓨터/🏁 SQL・빅쿼리

[BigQuery] 빅쿼리 별표 와일드카드 역할

김 홍시 2024. 6. 20.
반응형

BigQuery에서 *(애스터리스크, 별표)는 와일드카드(wildcard) 문자로 사용되어 다양한 상황에서 특정 패턴을 일치시키는 데 사용됩니다. 와일드카드는 문자열이나 테이블 이름의 일부를 대체할 수 있는 문자로, 특정 패턴에 맞는 여러 개체를 선택하거나 필터링할 때 유용합니다.

주요 사용 사례

  1. 와일드카드 테이블:
    BigQuery에서는 와일드카드 테이블을 사용하여 동일한 스키마를 가지는 여러 테이블을 한 번에 쿼리할 수 있습니다. 주로 날짜나 시간별로 나눠진 파티션 테이블을 한 번에 쿼리할 때 사용됩니다.

    예를 들어, my_dataset 데이터세트에 sales_20230101, sales_20230102, sales_20230103와 같은 테이블이 있을 때, 이 테이블들을 한 번에 쿼리하고 싶다면 sales_* 와일드카드를 사용할 수 있습니다.

    SELECT *
    FROM `my_project.my_dataset.sales_*`
    WHERE _TABLE_SUFFIX BETWEEN '20230101' AND '20230103';

    여기서 _TABLE_SUFFIX는 와일드카드 테이블 쿼리에서 사용되는 특별한 가상 열로, 실제 테이블 이름의 와일드카드 부분을 나타냅니다.

  2. 와일드카드 문자:
    쿼리에서 문자열 일치를 위한 와일드카드 문자를 사용할 수 있습니다. 예를 들어, LIKE 연산자를 사용하여 문자열이 특정 패턴과 일치하는지 확인할 때 * 대신 %_를 사용합니다.

    • %: 0개 이상의 문자를 대체합니다.
    • _: 정확히 1개의 문자를 대체합니다.
    SELECT *
    FROM my_dataset.my_table
    WHERE name LIKE 'Jo%';  -- 'Jo'로 시작하는 모든 이름
    SELECT *
    FROM my_dataset.my_table
    WHERE name LIKE 'J_n';  -- 'J'로 시작하고, 그 뒤에 정확히 한 문자가 있고, 'n'으로 끝나는 모든 이름

요약

  • 와일드카드 테이블: *를 사용하여 여러 테이블을 한 번에 쿼리할 수 있습니다.
  • 와일드카드 문자: LIKE 연산자와 함께 %_를 사용하여 문자열 패턴 매칭을 수행할 수 있습니다.

와일드카드 문자를 사용하면 복잡한 쿼리를 단순화하고 유연성을 높일 수 있습니다. BigQuery에서의 와일드카드 사용법에 대해 더 궁금한 점이 있으면 알려주세요!

반응형

댓글