top of page
Foto do escritorDataphi Solutions

Tutorial SQL: do zero à primeira query

Atualizado: 26 de mai. de 2024


Neste artigo, criamos um tutorial de SQL na prática, utilizando uma base de dados (disponível para download), conectada no BigQuery.


Faça download da base de dados para acompanhar.


SELECT * FROM

SELECT * FROM tabela_xpto é a sintaxe base de consulta SQL. Em tradução livre, esse é o comando que seleciona [SELECT] todas os atributos e registros [*] da tabela desejada [FROM tabela_xpto].


SELECT * FROM `data_base.fato_vendas`
Analisando a volumetria e estrutura dos dados

Na prática, não é viável aplicar a cláusula "SELECT * FROM" em todas as tabelas, uma vez que podemos estar lidando com um grande volume de dados e, por consequência, causar bloqueio no banco de dados.


Portanto, para iniciar suas consultas de maneira eficiente, o recomendável é conhecer a volumetria e estrutura dos dados.


Primeiramente, precisamos saber quantos registros existem na tabela, para definir se precisaremos segmentar os dados para análise. Para isso, utilizamos a cláusula COUNT(*). Essa cláusula retorna o número de linhas que existe na tabela procurada.



E para compreender a estrutura de dados, ou seja, conhecer os dados que existem na tabela, você pode limitar o número de linhas retornadas. Assim, você pode estudar os dados contidos na tabela, sem comprometer a consulta. Mas atenção! A função pode variar de acordo com o SGBD (sistema de gerenciamento de banco de dados). Por exemplo:


  • No SQL Server utilizamos: SELECT TOP 100 * FROM nome_tabela

  • No Oracle utilizamos: SELECT * FROM nome_tabela WHERE ROWNUM <= 100

  • No BigQuery utilizamos: SELECT * FROM nome_tabela LIMIT 100



Filtrando dados com um atributo

SELECT * FROM nome_tabela WHERE atributo1 = 'xpto'


O operador WHERE inicia a sequência de filtros que a query irá executar, seguida do nome do atributo (coluna) e o filtro que deseja aplicar.


Por exemplo, o diretor geral quer um relatório com todas as vendas da filial A. Você pode aplicar a query abaixo:


Outros pontos a considerar:

  • O uso do filtro entre aspas simples '' é aplicado para filtros de textos e datas. Para números (inteiros, decimais, binário) é possível aplicar o filtro sem o uso das aspas simples.

  • O uso do sinal de igualdade (=) é utilizado quando queremos buscar EXATAMENTE aquele valor. Para números ou datas, podemos utilizar:

    • maior que (>)

    • menor que (<)

    • maior ou igual a (>=)

    • menor ou igual a (<=)

    • diferente que (<>)

Filtrando dados com dois ou mais atributos

O operador WHERE pode conter mais de uma condição de filtro e essas condições podem:

  • retornar o valor quando todas as condicionais forem verdadeiras (AND - E)

  • retornar o valor quando uma das condicionais for verdadeira (OR - OU)


Relatório de vendas da filial A, onde o tipo de cliente é NORMAL

Relatório de vendas onde a filial é A ou o tipo de cliente é NORMAL.
Trabalhando a hierarquia do AND e OR

É possível utilizar AND e OR na mesma query? Sim 🤯

Porém, é preciso estar atendo a precedência dos operadores, pois o operador AND sempre terá prioridade em relação ao OR.


Digamos que você queira trazer as vendas da filial A e, dentro dessas vendas, analisar somente as vendas dos clientes membros ou clientes de gênero feminino. Se você aplicar a query:



A consulta retornará as vendas da filial A e dos clientes membros, depois retornará as vendas para os clientes de gênero feminino. Ou seja, não retornou o que precisamos.


Para corrigir, aplicamos parênteses, para que a query retorne o que buscamos:



 

Gostou do conteúdo? Curta, comente e compartilhe com a comunidade! 🚀


167 visualizações0 comentário

Posts recentes

Ver tudo

Comments


Inscreva-se e fique sempre atualizado!

Seja bem-vindo(a) a nossa comunidade 🚀

bottom of page