Resumo dos comandos

O Snowflake oferece suporte à maioria dos comandos e instruções definidos em SQL:1999.

Neste tópico:

Comandos DDL (linguagem de definição de dados)

DDL baseado em contas e baseado em sessões

Comandos

Notas

ALTER ACCOUNT

Usado para definir parâmetros em nível de conta (somente por usuários com função ACCOUNTADMIN).

ALTER SESSION

Usado para definir parâmetros na sessão atual.

SHOW FUNCTIONS

Exibe funções definidas pelo sistema e funções definidas pelo usuário, incluindo funções externas.

SHOW PARAMETERS

Usado para exibir as configurações de parâmetros para a conta ou sessão atual. Também pode ser usado para exibir configurações de parâmetros para objetos que têm parâmetros.

SHOW VARIABLES

Usado para exibir as variáveis SQL na sessão atual.

SET , UNSET

Usado para definir e remover variáveis SQL na sessão atual.

USE { DATABASE | ROLE | SCHEMA | WAREHOUSE }

O comando USE define o banco de dados, função, esquema ou warehouse para a sessão atual.

DDL do objeto da organização

Comandos

Notas

{ CREATE | DROP | UNDROP } ACCOUNT

Executado por usuários com a função ORGADMIN. ALTER ACCOUNT é usado para definir parâmetros no nível da conta e é executado por um usuário com a função ACCOUNTADMIN.

DDL de objeto de conta

Comandos

Notas

{ ALTER | CREATE | DESC | DROP } APPLICATION

{ ALTER | CREATE | DROP } APPLICATION PACKAGE

{ ALTER | CREATE | DROP } CONNECTION

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } DATABASE

CREATE também oferece suporte à clonagem de bancos de dados existentes.

{ ALTER | CREATE | DESC | DROP } EXTERNAL VOLUME

{ ALTER | CREATE } { API | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE } INTEGRATION

{ CREATE } CATALOG INTEGRATION

ALTER não é compatível com integrações de catálogo.

{ DESC | DROP } [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATION

{ ALTER | CREATE | DESC | DROP } NETWORK POLICY

{ ALTER | CREATE | DESC | DROP } RESOURCE MONITOR

{ ALTER | CREATE | DESC | DROP | USE } ROLE

{ ALTER | CREATE | DESC | DROP } SHARE

{ ALTER | CREATE | DESC | DROP } USER

{ ALTER | CREATE | DESC | DROP | USE } WAREHOUSE

COMMENT

Esse comando pode ser usado com qualquer objeto de conta. Além disso, os comentários devem ser definidos usando CREATE ou ALTER.

{ GRANT | REVOKE } PRIVILEGE

Os privilégios não são estritamente um objeto de primeira classe; entretanto, esses comandos são usados para habilitar e gerenciar o controle de acesso de todos os objetos de primeira classe no Snowflake.

SHOW { APPLICATION PACKAGES | APPLICATIONS | DATABASES | EXTERNAL VOLUMES | [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATIONS | NETWORK POLICIES | PRIVILEGES | RESOURCE MONITORS | ROLES | SHARES | USERS | WAREHOUSES }

DDL de objeto de banco de dados/esquema

Comandos

Notas

{ ALTER | CREATE | DESC | DROP } AGGREGATION POLICY

Usado para criar e gerenciar políticas de agregação.

{ ALTER | CREATE | DESC | DROP } ALERT

Usado para criar alertas do Snowflake.

{ ALTER | CREATE | DESC | DROP } AUTHENTICATION POLICY

Usado para criar e gerenciar políticas de autenticação.

{ ALTER | CREATE | DESC | DROP } EVENT TABLE

Usado para criar e gerenciar tabelas de eventos.

CREATE EXTERNAL FUNCTION

Usado para a criação de funções externas.

{ ALTER | CREATE | DESC | DROP } FILE FORMAT

CREATE também oferece suporte à clonagem de formatos de arquivos existentes.

{ ALTER | CREATE | DESC | DROP } FUNCTION

Usado para criar UDFs (funções definidas pelo usuário) e gerenciar UDFs e funções externas.

{ CREATE | DESC | DROP } HYBRID TABLE

Usado para criar e gerenciar tabelas híbridas.

{ ALTER | CREATE | DESC | DROP } ICEBERG TABLE

Usado para criar e gerenciar tabelas Iceberg.

{ ALTER | CREATE | DESC | DROP } MASKING POLICY

Usado para criar e gerenciar políticas de mascaramento.

{ ALTER | CREATE | DESC | DROP | UNDROP } MATERIALIZED VIEW

Usado para criar e gerenciar exibições materializadas.

{ ALTER | CREATE | DESC | DROP } NETWORK RULE

{ ALTER | CREATE | DROP } MODEL

DESCRIBE não é compatível com objetos de modelo. ALTER também é usado para criar e modificar versões de modelos.

{ ALTER | CREATE | DESC | DROP } PACKAGES POLICY

Usado para criar e gerenciar políticas de pacotes.

{ ALTER | CREATE | DESC | DROP } PASSWORD POLICY

Usado para criar e gerenciar políticas de senhas.

{ ALTER | CREATE | DESC | DROP } PIPE

{ ALTER | CREATE | DESC | DROP } PROCEDURE

Usado para criar e gerenciar procedimentos armazenados.

{ ALTER | CREATE | DESC | DROP } PROJECTION POLICY

Usado para criar e gerenciar políticas de projeção.

{ ALTER | CREATE | DESC | DROP } ROW ACCESS POLICY

Usado para criar e gerenciar políticas de acesso a linhas.

{ ALTER | CREATE | DESC | DROP } SECRET

Usado para criar e gerenciar segredos.

{ ALTER | CREATE | DESC | DROP } SEQUENCE

CREATE também oferece suporte à clonagem de sequências existentes.

{ ALTER | CREATE | DESC | DROP } SESSION POLICY

Usado para criar e gerenciar políticas de sessão.

{ ALTER | CREATE | DESC | DROP } STAGE

CREATE também oferece suporte à clonagem de estágios nomeados existentes (apenas externos).

{ ALTER | CREATE | DESC | DROP } STREAM

CREATE também oferece suporte à clonagem de fluxos nomeados existentes.

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } SCHEMA

CREATE também oferece suporte à clonagem de esquemas existentes.

{ ALTER | CREATE | DESC | DROP | TRUNCATE | UNDROP } TABLE

CREATE também oferece suporte à clonagem de tabelas existentes, à criação de tabelas preenchidas (usando CTAS) e à criação de tabelas vazias (a partir de tabelas existentes).

{ ALTER | CREATE | DROP | UNDROP } TAG

DESCRIBE não tem suporte para o objeto tag.

{ ALTER | CREATE | DESC | DROP } TASK

{ ALTER | CREATE | DESC | DROP | UNDROP } VIEW

COMMENT

Esse comando pode ser usado com qualquer objeto de banco de dados/esquema. Além disso, os comentários devem ser definidos usando CREATE ou ALTER.

SHOW { AGGREGATION POLICIES | ALERTS | AUTHENTICATION POLICIES | EVENT TABLES | EXTERNAL FUNCTIONS | FILE FORMATS | HYBRID TABLE | ICEBERG TABLES | MASKING POLICIES | MATERIALIZED VIEWS | NETWORK RULES | PACKAGES POLICIES | PASSWORD POLICIES | PIPES | PROCEDURES | PROJECTION POLICIES | ROW ACCESS POLICIES | SCHEMAS | SECRETS | SEQUENCES | SESSION POLICIES | STAGES | STREAMS | TABLES | TAGS | TASKS | USER FUNCTIONS | VIEWS }

Classes

Comando

Notas

{ CREATE | DROP | SHOW } SNOWFLAKE.ML.ANOMALY_DETECTION

Usado para gerenciar modelos de detecção de anomalias que detectam valores discrepantes em seus dados de série temporal.

{ CREATE | DROP } SNOWFLAKE.CORE.BUDGET

Usado para gerenciar orçamentos.

{ ALTER | CREATE | DROP | SHOW } SNOWFLAKE.ML.CLASSIFICATION

Usado para gerenciar modelos de classificação.

{ CREATE | DROP } SNOWFLAKE.CORE.CUSTOM_CLASSIFIER

SHOW CUSTOM_CLASSIFIERS

Usado para gerenciar classificadores personalizados.

{ CREATE | DROP | SHOW } FORECAST

Usado para gerenciar modelos de previsão.

Comandos DML (linguagem de manipulação de dados)

Comandos

Notas

DELETE , INSERT , MERGE , REPLACE , UPDATE

Usado para DML geral. INSERT inclui suporte para inserções de múltiplas tabelas.

COPY INTO { <table> | <location> }

Usado para carregar/descarregar dados (isto é, importação/exportação em massa).

COPY FILES , GET , LIST , PUT , REMOVE

Esses comandos não executam DML; eles são usados para preparar e gerenciar arquivos para carregar e descarregar dados.

Sintaxe de consultas e operadores

Categoria

Construções/operadores

Notas

Sintaxe de consulta

[ WITH ]

SELECT [ DISTINCT ]

Obrigatório.

[ INTO ]

Para definir variáveis Script Snowflake para valores nas colunas de resultados.

[ FROM ]

[ AT | BEFORE ]

Para consultas utilizando o Time Travel.

[ CHANGES ]

Para consultar os metadados de rastreamento de alterações de uma tabela.

[ CONNECT BY ]

Para fazer a junção de uma tabela consigo mesma para processar dados hierárquicos na tabela.

[ JOIN ]

Suporte a junções internas, externas esquerdas, externa direitas e completas.

[ ASOF JOIN ]

Suporte a junções ASOF.

[ MATCH_RECOGNIZE ]

Para encontrar sequências de linhas que correspondam a um padrão.

[ PIVOT | UNPIVOT ]
[ VALUES ]
[ SAMPLE ] / [ TABLESAMPLE ]

TABLESAMPLE é um sinônimo de SAMPLE.

[ WHERE ]

[ GROUP BY ]

As colunas utilizadas em GROUP BY devem estar na lista SELECT.

[ HAVING ]

[ ORDER BY ]

[ LIMIT ]

Operadores aritméticos

+ , - , * , \ , %

Operadores de comparação

= , != , < > , > , >= , < , <=

Operadores lógicos/booleanos

AND , NOT , OR

Operadores de conjuntos

INTERSECT [ ALL ] , MINUS [ ALL ] / EXCEPT , UNION [ ALL ]

Operadores de subconsulta

ANY / ALL , [ NOT ] EXISTS , [ NOT ] IN

Predicados

BETWEEN , [ NOT ] EXISTS , [ NOT ] IN , LIKE

Comandos TCL (linguagem de controle de transações)

Comandos

Notas

BEGIN , COMMIT , ROLLBACK

Usado para transações de instruções múltiplas na sessão atual.

DESC TRANSACTIONS

SHOW { LOCKS | TRANSACTIONS }