Você está na página 1de 6

INFINITAS POSSIBILIDADES DE SQL

Você aprendeu que uma consulta SQL usa SELECT, FROM e WHERE para
especificar os dados a serem retornados da consulta. Esta leitura fornece
informações mais detalhadas sobre como formatar consultas, usar condições
WHERE, selecionar todas as colunas em uma tabela, adicionar comentários e
usar aliases. Tudo isso torna mais fácil para você entender (e escrever)
consultas para colocar o SQL em ação. A última seção desta leitura fornece um
exemplo do que um analista de dados faria para extrair dados de funcionários
para um projeto.

1 - Capitalização, recuo e ponto-e-vírgula


Você pode escrever suas consultas SQL em minúsculas e não precisa se
preocupar com espaços extras entre as palavras. No entanto, o uso de
maiúsculas e recuo pode ajudá-lo a ler as informações com mais facilidade.
Mantenha suas consultas organizadas e elas serão mais fáceis de revisar ou
solucionar problemas se você precisar verificá-las mais tarde.

Observe que a instrução SQL mostrada acima tem um ponto-e-vírgula no final. O


ponto-e-vírgula é um terminador de instrução e faz parte do padrão SQL-92 do
American National Standards Institute (ANSI), que é uma sintaxe comum
recomendada para adoção por todos os bancos de dados SQL. No entanto, nem
todos os bancos de dados SQL adotaram ou impuseram o ponto-e-vírgula,
portanto, é possível que você se depare com algumas instruções SQL que não
são terminadas com ponto-e-vírgula. Se uma instrução funcionar sem
ponto-e-vírgula, tudo bem.

- WHERE as condições
Na consulta mostrada acima, a cláusula SELECT identifica a coluna da qual
você deseja extrair dados por nome, campo1, e a cláusula FROM identifica a
tabela onde a coluna está localizada por nome, tabela. Finalmente, a cláusula
WHERE restringe sua consulta para que o banco de dados retorne apenas os
dados com uma correspondência de valor exato ou os dados que correspondem
a uma determinada condição que você deseja satisfazer.
Por exemplo, se você estiver procurando um cliente específico com o sobrenome
Chavez, a cláusula WHERE seria:
ONDE campo1 = 'Chávez'
No entanto, se você estiver procurando por todos os clientes com um sobrenome
que começa com as letras "Ch", a cláusula WHERE seria:
ONDE campo1 COMO 'Ch%'
Você pode concluir que a cláusula LIKE é muito poderosa porque permite que
você diga ao banco de dados para procurar um determinado padrão! O sinal de
porcentagem (%) é usado como curinga para corresponder a um ou mais
caracteres. No exemplo acima, tanto Chávez quanto Chen seriam devolvidos.
Observe que, em alguns bancos de dados, um asterisco (*) é usado como
curinga em vez de um sinal de porcentagem (%).

2 - SELECT todas as colunas


Você pode usar SELECT * ?
No exemplo, se você substituir SELECT field1 por SELECT * , você estaria
selecionando todas as colunas na tabela em vez da coluna field1 apenas. Do
ponto de vista da sintaxe, é uma instrução SQL correta, mas você deve usar o
asterisco (*) com moderação e cautela. Dependendo de quantas colunas uma
tabela tem, você pode estar selecionando uma enorme quantidade de dados.
Selecionar muitos dados pode fazer com que uma consulta seja executada
lentamente.

3 - Comentários
Algumas tabelas não são projetadas com convenções de nomenclatura
descritivas o suficiente. No exemplo, field1 era a coluna do sobrenome de um
cliente, mas você não saberia pelo nome. Um nome melhor teria sido algo como
last_name. Nesses casos, você pode colocar comentários ao lado do SQL para
ajudá-lo a lembrar o que o nome representa. Comentários são textos colocados
entre determinados caracteres, /* e */, ou após dois traços (--), como mostrado
abaixo.

Os comentários também podem ser adicionados fora de uma declaração, bem


como dentro de uma declaração. Você pode usar essa flexibilidade para fornecer
uma descrição geral do que você vai fazer, notas passo a passo sobre como
alcançá-lo e por que você define parâmetros/condições diferentes.
Quanto mais confortável você ficar com o SQL, mais fácil será ler e entender as
consultas rapidamente. Ainda assim, nunca é demais ter comentários em uma
consulta para se lembrar do que você está tentando fazer. Isso também torna
mais fácil para outras pessoas entenderem sua consulta se ela for
compartilhada. À medida que suas consultas se tornam cada vez mais
complexas, essa prática economizará muito tempo e energia para entender
consultas complexas que você escreveu meses ou anos atrás.

Exemplo de uma consulta com comentários


Aqui está um exemplo de como os comentários podem ser escritos no BigQuery:

No exemplo acima, um comentário foi adicionado antes da instrução SQL para


explicar o que a consulta faz. Além disso, um comentário foi adicionado ao lado
de cada um dos nomes de coluna para descrever a coluna e seu uso. Dois
traços (--) são geralmente suportados. Por isso, é melhor usar -- e ser
consistente com isso. Você pode usar # no lugar de -- na consulta acima, mas #
não é reconhecido em todas as versões SQL; por exemplo, o MySQL não
reconhece #. Você também pode colocar comentários entre /* e */ se o banco de
dados que você está usando o suportar.
À medida que você desenvolve suas habilidades profissionalmente, dependendo
do banco de dados SQL que você usa, você pode escolher os símbolos de
delimitação de comentário apropriados que preferir e mantê-los como um estilo
consistente. À medida que suas consultas se tornam cada vez mais complexas,
a prática de adicionar comentários úteis economizará muito tempo e energia
para entender consultas que você pode ter escrito meses ou anos antes.

4 - Aliases
Você também pode facilitar a vida atribuindo um novo nome ou alias aos nomes
de coluna ou tabela para torná-los mais fáceis de trabalhar (e evitar a
necessidade de comentários). Isso é feito com uma cláusula SQL AS. No
exemplo abaixo, o alias last_name foi atribuído ao campo1 e os clientes de
alias atribuídos à tabela. Esses aliases são válidos apenas para a duração da
consulta. Um alias não altera o nome real de uma coluna ou tabela no banco de
dados.

Exemplo de uma consulta com aliases

5 - Colocando o SQL para trabalhar como analista


de dados
Imagine que você é um analista de dados para uma pequena empresa e seu
gerente pede alguns dados de funcionários. Você decide escrever uma consulta
com SQL para obter o que precisa do banco de dados.
Você deseja puxar todas as colunas: empID, firstName, lastName, jobCode e
salary. Como você sabe que o banco de dados não é tão grande, em vez de
inserir o nome de cada coluna na cláusula SELECT, use SELECT *. Isso
selecionará todas as colunas da tabela Employee na cláusula FROM.

Agora, você pode obter mais detalhes sobre os dados desejados na tabela
Funcionário. Se você quiser todos os dados sobre os funcionários que trabalham
no código de trabalho SFI, poderá usar uma cláusula WHERE para filtrar os
dados com base nesse requisito adicional.
Aqui, você usa:
Uma parte dos dados resultantes retornados da consulta SQL pode ter esta
aparência:
empID primeiro Nome sobrenome Código do trabalho salário

0002 Homero Simpson IFC 15000

0003 Margem Simpson IFC 30000

0034 Bart Simpson IFC 25000

0067 Lisa Simpson IFC 38000

0088 Abaixo Flandres IFC 42000

0076 Barney Goma IFC 32000


Suponha que você perceba uma grande faixa salarial para o código de trabalho
SFI. Você pode sinalizar todos os funcionários em todos os departamentos com
salários mais baixos para o seu gerente. Como os estagiários também estão
incluídos na tabela e têm salários inferiores a US$ 30.000, você quer ter certeza
de que seus resultados fornecem apenas os funcionários em tempo integral com
salários de US$ 30.000 ou menos. Em outras palavras, você deseja excluir
estagiários com o código de trabalho INT que também ganham menos de US $
30.000. A cláusula AND permite que você teste para ambas as condições.
Você cria uma consulta SQL semelhante à abaixo, onde <> significa "não é
igual":

Os dados resultantes da consulta SQL podem ter a seguinte aparência


(estagiários com o código de trabalho INT não são retornados):
empID primeiro Nome sobrenome Código do trabalho salário

0002 Homero Simpson IFC 15000

0003 Margem Simpson IFC 30000

0034 Bart Simpson IFC 25000

0108 Edna Krabappel TUL 18000

0099 Moe Szyslak ANA 28000


Com acesso rápido a esse tipo de dados usando SQL, você pode fornecer ao
seu gerente toneladas de insights diferentes sobre os dados dos funcionários,
incluindo se os salários dos funcionários em toda a empresa são equitativos.
Felizmente, a consulta mostra que apenas mais dois funcionários podem
precisar de um ajuste salarial e você compartilha os resultados com seu gerente.
Extrair os dados, analisá-los e implementar uma solução pode ajudar a melhorar
a satisfação e a lealdade dos funcionários. Isso torna o SQL uma ferramenta
bastante poderosa.

Você também pode gostar