Sintaxe do BigQuery

BigQuery é o data warehouse totalmente gerenciado e sem servidor do Google que permite que as empresas armazenem e manipulem grandes quantidades de dados sem precisar investir em infraestrutura. Para recuperar dados do BigQuery, é possível usar a sintaxe SQL para executar consultas.

Neste artigo, você encontrará um guia fácil para a sintaxe SQL do BigQuery e aprenderá a escrever suas primeiras consultas SQL.

Sintaxe SQL do BigQuery

A sintaxe SQL refere-se às regras de linguagem que você precisa seguir ao escrever consultas SQL. Sempre que escrever uma instrução, você usará palavras-chave como SELECT, FROM, WHERE e ORDER BY.

Observação: para melhorar a legibilidade, seguiremos algumas práticas recomendadas para escrever consultas SQL.

1) Usaremos letras maiúsculas para distinguir entre palavras-chave e tabelas ou colunas. Portanto, usaremos palavras-chave em letras maiúsculas, mas usaremos letras minúsculas para todas as tabelas e colunas. 

2) Embora possamos escrever várias instruções na mesma linha, separaremos as instruções usando novas linhas. 

Se quiser começar a usar o BigQuery, você encontrará um guia de início rápido sobre a sintaxe SQL abaixo.

SELECIONAR

Usaremos a instrução SELECT para selecionar as colunas que a consulta retornará.

Sintaxe SELECT

SELECT coluna1, coluna2, ...

FROM nome_da_tabela;

Neste exemplo, mostraremos como usar consultas SQL para recuperar dados de um conjunto de dados de basquete da NCAA.

Primeiro, executaremos uma consulta SQL para selecionar três colunas - school_ncaa, name e alias - desse conjunto de dados. 

Após a instrução SELECT, adicione todas as colunas que deseja selecionar, separadas por vírgulas. A cláusula FROM especifica a tabela que estamos consultando para recuperar os dados. 

SELECT school_ncaa, name, alias   

FROM `bigquery-public-data.ncaa_basketball.mbb_teams` ;

sintaxe do bigquery 1

Essa consulta retornou linhas com as seguintes colunas:

  • school_ncaa - Essa coluna contém o nome da escola associada a cada equipe.
  • name - Essa coluna contém o nome da equipe para cada linha.
  • alias - Essa coluna contém aliases comuns ou nomes abreviados usados para algumas equipes.

Como você pode ver, ele retornou todos os dados que solicitei divididos em colunas. 

Neste exemplo, solicitei ao BigQuery que retornasse os dados dessas três colunas. Se você quiser selecionar todas as colunas do conjunto de dados, use um asterisco (*) em vez disso.

SELECT * 

FROM `bigquery-public-data.ncaa_basketball.mbb_teams` ;

sintaxe 2 do bigquery

ONDE

Usaremos a cláusula WHERE para filtrar os dados do conjunto de dados.

Sintaxe WHERE

SELECT coluna1, coluna2, ...

FROM nome_da_tabela

ONDE condição;

Digamos que eu queira recuperar dados de todas as colunas, mas somente das linhas em que a coluna de nome seja igual a ‘Crimson’. 

Então, vamos detalhar a fórmula:

SELECT * - Especifica que queremos que todas as colunas sejam retornadas. O * seleciona todas as colunas.

FROM bigquery-public-data.ncaa_basketball.mbb_teams - Isso especifica a tabela que estamos consultando, a tabela mbb_teams.

WHERE name = ‘Crimson’ - Essa cláusula WHERE filtra as linhas apenas para aquelas em que o valor da coluna name é igual a ‘Crimson’.

SELECT *  

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name = ‘Crimson’;

sintaxe 3 do bigquery

Essa consulta SQL do BigQuery retornou todas as colunas das linhas da tabela mbb_teams em que a coluna name é igual a ‘Crimson’.

Agora usarei a condição OR porque quero que o BigQuery recupere as linhas que correspondam aos nomes de equipe ‘Crimson’ ou ‘Tigers’. Adicionarei uma condição OR à cláusula WHERE.

SELECT alias, school_ncaa, name, market

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name = ‘Crimson’ OR name = ‘Tigers’;

sintaxe do bigquery 4

Agora, o BigQuery retornou dados de linhas em que o nome é ‘Crimson’ ou ‘Tigers’.

Se eu quiser retornar vários valores com uma cláusula WHERE, posso adicionar uma condição IN à fórmula. Quando eu adicionar IN à instrução WHERE, o BigQuery retornará todos os valores entre colchetes.

SELECT alias, school_ncaa, name, market

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name IN (‘Crimson’,’Tigers’,’Gators’);

Sintaxe do bigquery 5

Se você quiser adicionar vários filtros ou vários critérios a serem atendidos nos resultados da consulta, deverá usar a condição AND. A condição AND retornará valores somente quando ambas as condições forem atendidas.

Neste exemplo, quero que o BigQuery retorne valores apenas para estas equipes: Auburn Tigers ou Clemson Tigers. Portanto, ambos os critérios devem ser atendidos. O nome deve ser “Tigers”, e a escola deve ser Auburn ou Clemson. Aqui está a fórmula que usarei:

SELECT alias, school_ncaa, name, market

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name = ‘Tigers’ AND school_ncaa = ‘Auburn’ OR school_ncaa = ‘Clemson’;

sintaxe do bigquery 6

Agora, digamos que eu queira que o BigQuery filtre as linhas em que o nome começa com ‘A’. Diferentemente dos exemplos anteriores, quando usei a instrução WHERE para retornar valores exatos, aqui usarei o operador LIKE para correspondência parcial de strings. Veja como posso usar o comando LIKE:

SELECT alias, school_ncaa, name, market

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name LIKE ‘A%’;

Sintaxe do bigquery 7

Esses são alguns exemplos de como você pode usar o comando LIKE para filtrar dados com base em critérios específicos.

GOSTO 

Resultado

LIKE ‘a%’

Retorna valores que começam com “a”

LIKE ‘%a’

Retorna valores que terminam com “a”

LIKE ‘%ty%’

Retorna valores que têm “ty” em qualquer posição

LIKE ‘_s%’

Retorna os valores que têm “s” na segunda posição

LIKE ‘a%s’

Retorna valores que começam com “a” e terminam com “s”

Se eu quiser que o BigQuery filtre as linhas em que o nome começa com ‘A’, mas exclua os nomes que começam com ‘Ag’, posso adicionar um comando NOT LIKE.

SELECT alias, school_ncaa, name, market

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name LIKE ‘A%’ AND name NOT LIKE ‘Ag%’;

Sintaxe do bigquery 8

ORDER BY

O comando ORDER BY é usado para classificar valores de uma coluna específica em ordem crescente ou decrescente.

ORDER BY sintaxe

SELECT coluna1, coluna2, ...

FROM nome_da_tabela

ORDER BY column1, column2, ... ASC|DESC;

Vou escrever uma consulta para recuperar dados filtrados por um nome de equipe específico e ordenar os resultados por escola em ordem crescente. Quando eu ordeno os resultados em ordem crescente, a condição ASC é opcional.

SELECT alias, school_ncaa, name, market

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name = ‘Tigres’

ORDER BY school_ncaa;

Sintaxe do bigquery 9

Como você pode ver, o BigQuery classificou os nomes das escolas em ordem alfabética. Se eu adicionar a condição DESC, ele classificará os nomes das escolas em ordem decrescente.

SELECT alias, school_ncaa, name, market

FROM `bigquery-public-data.ncaa_basketball.mbb_teams`

WHERE name = ‘Tigres’

ORDER BY school_ncaa DESC;

Sintaxe do bigquery 10

Como conectar o BigQuery ao Planilhas Google

É isso aí! É assim que você pode escrever suas primeiras consultas usando SQL no BigQuery. Se você for um usuário de planilhas, consulte este artigo sobre obtendo dados do BigQuery para o Google Sheets automaticamente.

Gerencie grandes conjuntos de dados com facilidade

Use o Sheetgo para conectar o BigQuery ao Google Sheets e lidar com dados extensos de forma eficiente

Você também pode gostar...

Além da RPA: Por que o futuro da automação de planilhas prioriza os dados

Você procurou por "RPA" para eliminar tarefas repetitivas. Mas e se o problema não for a tarefa, mas os dados? O "Reflexo da RPA" Toda equipe...

Como conectar seu lakehouse aos usuários corporativos - com uma base de dados sem código

Você investiu em um Lakehouse moderno. Por que sua equipe financeira ainda pede exportações em CSV? O paradoxo dos dados modernos Você criou um sistema de...
ciência de dados

Gerenciamento de estoque de joias: como escolher o sistema certo

O gerenciamento do estoque de joias é mais complexo do que em outros setores. Com itens de alto valor, matérias-primas preciosas e suprimentos complexos...