이 주제에서는 BigQuery 데이터를 쿼리할 때 쿼리 언어를 설정하는 방법을 설명합니다. 표준 SQL 또는 legacy SQL 언어 중 하나를 사용할 수도 있습니다.
Google Cloud Console을 사용하여 데이터를 쿼리하는 방법을 알아보려면 빠른 시작: Cloud Console 사용을 참조하세요.
bq
명령줄 도구를 사용하여 데이터를 쿼리하는 방법을 알아보려면 빠른 시작: bq
명령줄 도구 사용을 참조하세요.
기본 언어에서 변경
데이터를 쿼리하는 데 사용하는 인터페이스에 따라 기본 쿼리 언어가 결정됩니다.
- Cloud Console 및 클라이언트 라이브러리에서는 표준 SQL이 기본입니다.
bq
명령줄 도구 및 REST API에서는 legacy SQL이 기본입니다.
다른 언어로 전환하려면 다음 안내를 따르세요.
Console
Cloud Console의 기본 언어는 표준 SQL입니다. 언어를 legacy SQL로 변경하려면 다음 단계를 따르세요.
필요한 경우 새 쿼리 작성을 클릭하여 쿼리 편집기를 엽니다.
쿼리 편집기 아래에서 더보기 > 쿼리 설정을 클릭합니다.
고급 옵션을 클릭합니다.
고급 설정 섹션에서 SQL 언어에 Legacy를 클릭합니다. 이에 따라 이 쿼리에 legacy SQL 옵션이 설정됩니다. 새 쿼리 작성을 클릭하여 새 쿼리를 작성할 때 legacy SQL 옵션을 다시 선택해야 합니다.
bq
bq
명령줄 도구의 기본 쿼리 언어는 legacy SQL입니다. 표준 SQL 언어로 전환하려면 명령줄 문에 --use_legacy_sql=false
또는 --nouse_legacy_sql
플래그를 추가합니다.
예를 들면 다음과 같습니다.
bq query \ --use_legacy_sql=false \ 'SELECT word FROM `bigquery-public-data.samples.shakespeare`'
C#
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 BigQuery C# API 참조 문서를 확인하세요.
쿼리를 실행할 때 기본적으로 표준 SQL이 사용됩니다.
legacy SQL 사용
쿼리를 실행할 때 legacy SQL을 사용하려면 'UseLegacySql' 매개변수를 'true'로 설정합니다.
Go
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참조 문서를 확인하세요.
기본적으로 Go 클라이언트 라이브러리는 표준 SQL을 사용합니다.
legacy SQL 사용
이전 쿼리로 전환하려면 쿼리 구성에 있는 UseLegacySQL
속성을 사용합니다.
자바
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 자바 설정 안내를 따르세요. 자세한 내용은 BigQuery 자바 API 참조 문서를 확인하세요.
기본적으로 자바 클라이언트 라이브러리는 표준 SQL을 사용합니다.
legacy SQL 사용
쿼리 작업에서 legacy SQL 구문을 사용하려면 useLegacySql
매개변수를 true
로 설정합니다.
Node.js
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 BigQuery Node.js API 참조 문서를 확인하세요.
기본적으로 Node.js 클라이언트 라이브러리는 표준 SQL을 사용합니다.
legacy SQL 사용
쿼리 작업에서 legacy SQL 구문을 사용하려면 useLegacySql
매개변수를 true
로 설정합니다.
PHP
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 BigQuery PHP API 참조 문서를 참조하세요.
기본적으로 PHP 클라이언트 라이브러리는 표준 SQL을 사용합니다.
legacy SQL 사용
쿼리 작업에서 legacy SQL 구문을 사용하려면 useLegacySql
매개변수를 true
로 설정합니다.
Python
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참조 문서를 확인하세요.
기본적으로 Python 클라이언트 라이브러리는 표준 SQL을 사용합니다.
legacy SQL 사용
쿼리 작업에서 legacy SQL 구문을 사용하려면 use_legacy_sql
매개변수를 True
로 설정합니다.
Ruby
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 BigQuery Ruby API 참조 문서를 확인하세요.
기본적으로 Ruby 클라이언트 라이브러리는 표준 SQL을 사용합니다.
Cloud Console에서 쿼리 프리픽스 사용
SQL 언어 프리픽스를 쿼리의 일부로 포함시켜 Cloud Console에서 SQL 언어를 설정할 수도 있습니다.
다음 프리픽스를 사용하면 SQL 언어를 설정할 수 있습니다.
프리픽스 | 설명 |
---|---|
#legacySQL |
legacy SQL을 사용하여 쿼리를 실행합니다. |
#standardSQL |
표준 SQL을 사용하여 쿼리를 실행합니다. |
Cloud Console에서 쿼리 프리픽스를 사용하면 쿼리 설정에서 SQL 언어 옵션이 비활성화됩니다.
예를 들어 다음 쿼리를 복사하여 Cloud Console에 붙여넣으면 BigQuery가 legacy SQL을 사용하여 쿼리를 실행하고 기본 설정을 무시합니다. Cloud Console의 기본 설정은 표준 SQL입니다.
#legacySQL
SELECT
weight_pounds, state, year, gestation_weeks
FROM
[bigquery-public-data:samples.natality]
ORDER BY weight_pounds DESC
LIMIT 10;
쿼리 프리픽스 #legacySQL
및 #standardSQL
:
- 대소문자를 구분하지 않습니다.
- 쿼리보다 선행해야 합니다.
- 줄바꿈 문자로 쿼리와 구분해야 합니다.
일부 제3자 도구는 예를 들어 쿼리를 BigQuery로 전송하기 전에 쿼리 텍스트를 수정하는 경우 이 프리픽스를 지원하지 않을 수 있습니다.
표준 SQL을 명령줄 도구의 기본값으로 설정
명령줄 도구의 구성 파일 .bigqueryrc
를 편집하여 표준 SQL을 명령줄 도구 및 대화형 셸의 기본 구문으로 설정할 수 있습니다.
.bigqueryrc
에 대한 자세한 내용은 명령어별 플래그의 기본값 설정을 참조하세요.
.bigqueryrc
에서 --use_legacy_sql=false
를 설정하려면 다음 안내를 따르세요.
텍스트 편집기에서
.bigqueryrc
를 엽니다. 기본적으로.bigqueryrc
는 사용자 디렉터리에 있습니다(예:$HOME/.bigqueryrc
).파일에 다음 텍스트를 추가합니다. 이 예시는 표준 SQL을 쿼리와
mk
명령어(뷰를 만들 때 사용됨)의 기본 구문으로 설정합니다.query
또는mk
명령어 플래그의 기본값을 이미 구성한 경우[query]
또는[mk]
를 다시 추가할 필요가 없습니다.[query] --use_legacy_sql=false [mk] --use_legacy_sql=false
저장하고 파일을 닫습니다.
대화식 셸을 사용하는 경우 변경 사항을 적용하려면 종료한 후 다시 시작해야 합니다.
사용할 수 있는 명령줄 플래그에 대한 자세한 내용은 bq 명령줄 도구 참조를 확인하세요.