Escolher a origem
FROM indica a tabela ou resultado a processar.
Encontre SQL por tarefa: consultas, agregação, COPY INTO, atualizações, definições de objetos e permissões. Compare sintaxe, requisitos e efeitos no Snowflake e no BigQuery.
Inclui 23 grupos de consultas e 22 tópicos de operações. São exemplos representativos, não todas as opções ou todos os comandos do produto.
Operações conferidas: 2026-10-06
| Área | Sintaxe e recursos | Cobertura | Referências oficiais |
|---|---|---|---|
| Consultas e análise | SELECT / JOIN / GROUP BY / WINDOW | Exemplos representativos | Snowflake · BigQuery |
| Carga e exportação | COPY INTO / LOAD DATA / EXPORT DATA | Exemplos representativos | Snowflake · BigQuery |
| Manipulação de dados | INSERT / UPDATE / DELETE / MERGE / TRUNCATE | Exemplos representativos | Snowflake · BigQuery |
| Definição de objetos | TABLE / VIEW / SCHEMA / FUNCTION / PROCEDURE | Exemplos representativos | Snowflake · BigQuery |
| Transações, acesso e scripts | TRANSACTION / GRANT / REVOKE / DECLARE / INFORMATION_SCHEMA | Exemplos representativos | Snowflake · BigQuery |
| Automação e pipelines | PIPE / STREAM / TASK / DYNAMIC TABLE / scheduled queries | Somente referência oficial | Snowflake · BigQuery |
| Tabelas externas e especiais | EXTERNAL TABLE / ICEBERG / SNAPSHOT / CLONE / MATERIALIZED VIEW | Somente referência oficial | Snowflake · BigQuery |
| Contas e computação | ACCOUNT / USER / ROLE / WAREHOUSE / IAM / reservations | Somente referência oficial | Snowflake · BigQuery |
| Segurança e compartilhamento | POLICY / MASKING / ROW ACCESS / sharing / connections | Somente referência oficial | Snowflake · BigQuery |
| Aprendizado de máquina e extensões | ML / Cortex / search indexes / vector indexes / applications | Somente referência oficial | Snowflake · BigQuery |
COPY INTO <table> / LOAD DATA INTOCOPY INTO <location> / EXPORT DATACREATE STAGE / FROM FILESVALIDATION_MODE / LOAD DATAINSERT INTO / INSERT INTOUPDATE / UPDATEDELETE FROM / DELETE FROMMERGE INTO / MERGE INTOTRUNCATE TABLE / TRUNCATE TABLECREATE TABLE / CREATE TABLECREATE TABLE AS SELECT / CREATE TABLE AS SELECTCREATE VIEW / CREATE VIEWALTER TABLE / ALTER TABLEDROP TABLE / DROP TABLEBEGIN TRANSACTION / BEGIN TRANSACTIONGRANT / GRANTREVOKE / REVOKECREATE SCHEMA / CREATE SCHEMASHOW TABLES / INFORMATION_SCHEMADECLARE / DECLARECREATE FUNCTION / CREATE FUNCTIONCREATE PROCEDURE / CREATE PROCEDUREAbrange consultas e operações comuns. A tabela distingue exemplos de áreas com apenas referências.
FROM indica a tabela ou resultado a processar.
WITH e uma subconsulta em FROM podem representar o mesmo resultado intermediário.
Correspondências / toda a esquerda / ambos os lados / todas as combinações.
Em LEFT JOIN, mudar a posição da condição altera as linhas mantidas.
Expandir elementos de um valor composto em mais linhas.
WHERE antes de agregar; HAVING depois; QUALIFY após as janelas.
Escolha o que contar ou qual resumo calcular.
WITHIN GROUP ordena os valores agregados; BigQuery usa ORDER BY dentro da função.
Controle duplicatas, NULL, linhas de valor máximo e limites de entrada dentro da função.
GROUP BY define grupos; DISTINCT remove duplicatas das linhas selecionadas.
Agregação: N linhas→uma por grupo. Janela: N linhas→N linhas.
Sequência única / empates com lacunas / empates sem lacunas.
Anexar valores vizinhos seguindo a mesma ordem.
IGNORE / RESPECT NULLS define os valores vistos pela função; NULLS FIRST / LAST define a posição das linhas.
ROWS usa posições; RANGE usa valores de ordenação.
Comparações retornam TRUE, FALSE ou NULL; a lógica combina os resultados.
Igualdade com NULL é desconhecida. Use IS NULL.
CASE aceita várias condições; IF / IFF abrevia duas saídas.
Valor não convertível: CAST gera erro; a versão segura retorna NULL.
ABS retorna magnitude; ROUND arredonda para a precisão indicada.
Quatro operações na mesma string.
A operação é compartilhada; a ordem dos argumentos e a sintaxe da unidade mudam.
Ambos podem mostrar 7, mas os tipos diferem.
Os mesmos A e B: manter / remover duplicatas / comuns / só a esquerda.
Alinhar nomes mesmo com posições diferentes.
Deduplicar → ordenar → pular linhas iniciais → pegar até o limite.
Snowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare orders vazia e um CSV com cabeçalho id,amount. Envie ao stage interno csv_stage do Snowflake ou ao Cloud Storage com localização compatível para BigQuery. Substitua YOUR_BUCKET.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
COPY INTO tbi_lab.orders
FROM @tbi_lab.csv_stage/orders.csv
FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1)
ON_ERROR = 'ABORT_STATEMENT';Carrega as linhas do arquivo. Confira o resultado da carga e as linhas de destino.
SELECT id, amount FROM tbi_lab.orders ORDER BY id;ON_ERROR controla falhas; ABORT_STATEMENT interrompe a instrução. O histórico pode ignorar arquivos já carregados. FORCE=TRUE pode duplicar dados.
Fontes oficiais · Snowflake 1
# load-filesSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare orders com duas linhas e um destino gravável: csv_stage no Snowflake ou Cloud Storage substituindo YOUR_BUCKET no BigQuery.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
COPY INTO @tbi_lab.csv_stage/export_run/
FROM (SELECT id, amount FROM tbi_lab.orders)
FILE_FORMAT = (TYPE = CSV)
HEADER = TRUE;Grava o resultado em arquivos CSV. Confira o destino.
LIST @tbi_lab.csv_stage/export_run/;Use um novo destino a cada execução. A saída pode ter vários arquivos. Confira a quantidade e o conteúdo.
Fontes oficiais · Snowflake 1
# unload-filesSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare tbi_lab e as permissões de criação e leitura necessárias.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
CREATE FILE FORMAT tbi_lab.csv_format
TYPE = CSV SKIP_HEADER = 1;
CREATE STAGE tbi_lab.csv_stage
FILE_FORMAT = (FORMAT_NAME = 'tbi_lab.csv_format');Cria um stage interno vazio e um formato CSV no Snowflake.
LIST @tbi_lab.csv_stage;Criar o stage não envia arquivos. Envie orders.csv pelo Snowsight ou por um cliente compatível com PUT. PUT usa stages internos.
Fontes oficiais · Snowflake 1 · Snowflake 2 · Snowflake 3
# stage-formatSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare orders vazia e um CSV com cabeçalho id,amount. Envie ao stage interno csv_stage do Snowflake ou ao Cloud Storage com localização compatível para BigQuery. Substitua YOUR_BUCKET.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
COPY INTO tbi_lab.orders
FROM @tbi_lab.csv_stage/orders.csv
FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1)
VALIDATION_MODE = 'RETURN_ERRORS';No Snowflake, retorna erros do arquivo sem inserir linhas.
SELECT id, amount FROM tbi_lab.orders ORDER BY id;VALIDATION_MODE valida sem carregar. Não aceita SELECT de transformação. Corrija os erros antes de executar COPY normal.
Fontes oficiais · Snowflake 1
# validate-loadSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
INSERT INTO tbi_lab.orders (id, amount)
VALUES (3, 300);Adiciona id=3, amount=300.
SELECT id, amount FROM tbi_lab.orders ORDER BY id;Fontes oficiais · Snowflake 1
# insert-rowsSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
UPDATE tbi_lab.orders SET amount = 150 WHERE id = 1;Altera amount para 150 em id=1.
SELECT id, amount FROM tbi_lab.orders ORDER BY id;Confira as linhas com SELECT e o mesmo WHERE. O BigQuery exige WHERE para UPDATE e DELETE.
Fontes oficiais · Snowflake 1
# update-rowsSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
DELETE FROM tbi_lab.orders WHERE id = 2;Remove a linha id=2.
SELECT id, amount FROM tbi_lab.orders ORDER BY id;Confira as linhas com SELECT e o mesmo WHERE. O BigQuery exige WHERE para UPDATE e DELETE.
Fontes oficiais · Snowflake 1
# delete-rowsSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
MERGE INTO tbi_lab.orders AS t
USING (SELECT 1 AS id, 150 AS amount
UNION ALL SELECT 3, 300) AS s
ON t.id = s.id
WHEN MATCHED THEN UPDATE SET amount = s.amount
WHEN NOT MATCHED THEN INSERT (id, amount)
VALUES (s.id, s.amount);Atualiza id=1 para 150 e insere id=3 com 300.
SELECT id, amount FROM tbi_lab.orders ORDER BY id;Evite várias linhas de origem para uma chave de destino atualizada. O comportamento depende do produto e da ação.
Fontes oficiais · Snowflake 1
# merge-rowsSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
TRUNCATE TABLE tbi_lab.orders;Deixa zero linhas e mantém as definições das colunas.
SELECT COUNT(*) AS rows_left FROM tbi_lab.orders;Afeta todas as linhas; não permite filtro WHERE.
Fontes oficiais · Snowflake 1
# truncate-tableSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare tbi_lab e confirme que o nome do novo objeto está livre.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
CREATE TABLE tbi_lab.orders (id INTEGER, amount NUMBER(12,2));Cria uma tabela vazia com id e amount.
DESCRIBE TABLE tbi_lab.orders;Os exemplos não usam OR REPLACE para sobrescrever dados existentes.
Fontes oficiais · Snowflake 1
# create-tableSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Prepare tbi_lab e confirme que o nome do novo objeto está livre.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
CREATE TABLE tbi_lab.large_orders AS
SELECT id, amount FROM tbi_lab.orders WHERE amount >= 200;Salva as linhas com amount >= 200 em uma nova tabela.
SELECT * FROM tbi_lab.large_orders ORDER BY id;Os exemplos não usam OR REPLACE para sobrescrever dados existentes.
Fontes oficiais · Snowflake 1
# create-as-selectSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Prepare tbi_lab e confirme que o nome do novo objeto está livre.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
CREATE VIEW tbi_lab.large_orders_view AS
SELECT id, amount FROM tbi_lab.orders WHERE amount >= 200;Salva a definição da consulta. Uma visão comum não mantém cópia das linhas de resultado.
SELECT * FROM tbi_lab.large_orders_view ORDER BY id;ALTER VIEW e DROP VIEW alteram ou removem a definição. Confira dependências das tabelas de origem.
Fontes oficiais · Snowflake 1
# create-viewSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
ALTER TABLE tbi_lab.orders ADD COLUMN note VARCHAR;Adiciona note; nas linhas existentes, o valor é NULL.
DESCRIBE TABLE tbi_lab.orders;O exemplo adiciona uma coluna. Excluir colunas ou mudar tipos exige outra verificação de dados e dependências.
Fontes oficiais · Snowflake 1
# alter-tableSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
DROP TABLE tbi_lab.orders;Remove a definição e os dados da tabela.
SHOW TABLES LIKE 'ORDERS' IN SCHEMA tbi_lab;A recuperação depende da retenção do produto. Não presuma que será possível recuperar.
Fontes oficiais · Snowflake 1
# drop-tableSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
CREATE SCHEMA tbi_lab;
USE SCHEMA tbi_lab;Cria tbi_lab para armazenar objetos.
SELECT CURRENT_DATABASE(), CURRENT_SCHEMA();Cria um esquema no banco atual. USE SCHEMA muda o namespace padrão.
Fontes oficiais · Snowflake 1 · Snowflake 2
# namespaceSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare tbi_lab e confirme que o nome do novo objeto está livre.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
CREATE FUNCTION tbi_lab.add_one(x INTEGER)
RETURNS INTEGER LANGUAGE SQL
AS $$ x + 1 $$;Cria uma função que soma um ao argumento.
SELECT tbi_lab.add_one(2) AS result;Fontes oficiais · Snowflake 1
# user-functionSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare tbi_lab e confirme que o nome do novo objeto está livre.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
CREATE PROCEDURE tbi_lab.answer()
RETURNS INTEGER LANGUAGE SQL
AS $$
BEGIN
RETURN 3;
END;
$$;Cria um procedimento que retorna 3 quando chamado.
CALL tbi_lab.answer();Fontes oficiais · Snowflake 1
# procedureSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Comece com tbi_lab.orders(id, amount) contendo (1,100) e (2,200). Restaure esse estado antes de cada exemplo; eles não são passos sequenciais.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
BEGIN TRANSACTION;
UPDATE tbi_lab.orders SET amount = 150 WHERE id = 1;
ROLLBACK;O exemplo desfaz a alteração: id=1 mantém amount=100.
SELECT id, amount FROM tbi_lab.orders ORDER BY id;COMMIT confirma; ROLLBACK desfaz. DDL no Snowflake confirma implicitamente a transação ativa; não o inclua no exemplo.
Fontes oficiais · Snowflake 1
# transactionSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Exige orders e autoridade para mudar permissões. Prepare o papel tbi_reader do Snowflake ou confira o grupo destinatário do BigQuery.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
GRANT SELECT ON TABLE tbi_lab.orders TO ROLE tbi_reader;Concede ao destinatário permissão para ler a tabela.
SHOW GRANTS ON TABLE tbi_lab.orders;SELECT na tabela pode não bastar. Confira USAGE de banco e esquema, além do acesso ao warehouse.
Fontes oficiais · Snowflake 1
# permissions-grantSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Exige orders e autoridade para mudar permissões. Prepare o papel tbi_reader do Snowflake ou confira o grupo destinatário do BigQuery.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
REVOKE SELECT ON TABLE tbi_lab.orders FROM ROLE tbi_reader;Remove a concessão direta; outros caminhos de acesso podem permanecer.
SHOW GRANTS ON TABLE tbi_lab.orders;REVOKE não retira acesso herdado de outros papéis ou recursos superiores. Confira o acesso efetivo.
Fontes oficiais · Snowflake 1
# permissions-revokeSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Prepare tbi_lab e as permissões de criação e leitura necessárias.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
SHOW TABLES IN SCHEMA tbi_lab;Retorna metadados de tabelas e colunas acessíveis.
DESCRIBE TABLE tbi_lab.orders;Fontes oficiais · Snowflake 1 · Snowflake 2
# inspect-objectsSnowflake · SQL para o produto selecionado. Esta página não o executa. Conferido com a documentação oficial; não executado em uma conta de nuvem.
Pressupõe um banco selecionado no Snowflake e um projeto selecionado no BigQuery. tbi_lab é um esquema ou conjunto de dados de prática.
Use um ambiente de prática autorizado. Confira nomes, destinos e destinatários. Execução e armazenamento na nuvem podem gerar cobranças.
EXECUTE IMMEDIATE $$
DECLARE n INTEGER DEFAULT 2;
BEGIN
RETURN n + 1;
END;
$$;Altera a variável de 2 para 3 e retorna 3.
Compare a alteração esperada com o resultado, as permissões ou os arquivos do ambiente.
BEGIN…END é um bloco procedural, diferente de BEGIN TRANSACTION.
Fontes oficiais · Snowflake 1 · Snowflake 2
# scriptQuando um cliente tem três pedidos, ele aparece três vezes no resultado da junção. Mude a quantidade de pedidos e o SQL para conferir as combinações.
Execute uma instrução somente de leitura que comece com SELECT ou WITH. Tabelas: customers e orders. São exibidas até 200 linhas.
Escolha um exemplo ou edite o SQL e execute.
Primeiro, FROM lê a tabela de clientes customers e AS c dá a ela o apelido c dentro desta consulta.
Depois, INNER JOIN combina a tabela de pedidos orders. AS o dá a ela o apelido o. ON c.id = o.customer_id mantém apenas pares em que o identificador do cliente c.id é igual ao identificador do cliente no pedido o.customer_id. Vários pedidos do mesmo cliente geram várias linhas.
SELECT retorna o identificador do cliente c.id, o nome c.name e o identificador do pedido o.id. AS order_id nomeia a coluna de saída de o.id como order_id.
Por fim, ORDER BY c.id, o.id ordena pelo identificador do cliente em ordem crescente e, dentro de cada cliente, pelo identificador do pedido em ordem crescente.
O ponto . em c.id conecta o apelido da tabela ao nome da coluna; a vírgula , separa colunas ou expressões; o ponto e vírgula ; encerra a instrução SQL.
Este editor executa SQLite, independentemente do seletor Snowflake / BigQuery. Usa dados fictícios e executa SQL no navegador. A entrada não é salva nem enviada. O mecanismo é carregado de uma CDN externa na primeira execução.
Comparar tipos de JOIN · Referência oficial do SQLite sobre SELECT e JOIN