Blog

Postado em em 13 de setembro de 2022

Otimizar Consultas no SQL com Subqueries

Quer saber como otimizar consultas no SQL com subqueries? Então vem comigo que eu vou te ensinar como fazer isso!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Otimizar Consultas no SQL com Subqueries

Você sabe o que é uma subquery? Sabe como usar uma subquery? É isso que eu quero te mostrar nessa aula.

O que são subqueries e como elas vão permitir com que você consiga otimizar suas consultas no SQL!

O Que é uma Subquery no SQL

Uma subquery é um recurso dentro do SQL que permite a criação de queries mais otimizadas, reaproveitando o resultado de uma query dentro de outra query,

Agora o que é esse tal de query? Isso nada mais é do que uma consulta em um banco de dados.

Então quando você quer consultar qual é a soma de salário, ou quer saber quais os funcionários de um determinado setor… Isso tudo é uma consulta (query).

A ideia é que com a subquery nós vamos poder reaproveitar esse resultado em outro local para facilitar e otimizar o processo.

Podemos utilizar as subqueries em 3 situações:

  1. Dentro da cláusula WHERE, como um filtro;
  2. Dentro da cláusula SELECT, como uma nova coluna;
  3. Dentro da cláusula FROM, como uma nova tabela.

Para que isso não fique muito abstrato nós vamos usar um exemplo, assim fica mais fácil de entender.

Exemplo: Quais funcionários recebem um salário acima da média de todos os funcionários?

  • 1º Passo – Descobrir a média de salário
  • 2º Passo – Filtrar a tabela EMPLOYEES baseado no valor acima

Nesse primeiro exemplo vamos calcular quantos funcionários recebem acima da média. Então a ideia é primeiramente descobrir qual é essa média de salário para que possamos utilizar essa informação para filtrar a nossa tabela de funcionários.

Vamos fazer a seleção das informações com o SELECT * FROM employees, que pode ser feito logo antes do primeiro passo.

-- 1º Passo - Descobrir a média de salário
SELECT AVG(salary) FROM employees; -- 6593,59

-- 2º Passo - Filtrar a tabela EMPLOYEES baseado no valor acima.
SELECT * FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

Aqui você deve ter notado que o que estamos fazendo é basicamente pegar o cálculo que fizemos da média e jogando dentro do filtro WHERE.

Então ao invés de calcular o valor e depois colocar o número, nós vamos utilizar esse mesmo cálculo dentro do WHERE para que fique um cálculo dinâmico.

Obs.: Dessa forma você não precisa pegar esse número e colocar dentro do seu cálculo de forma manual. Esse valor fica automático, até porque se os salários forem alterados, esse valor de média também será alterado de forma atuomática!

Então quando a sua base de dados for alterada esse cálculo também será alterado, pois ele já faz o cálculo da média salarial da tabela.

Então nos seus próximos cálculos você já sabe que pode utilizar o resultado de uma consulta em outra query seguindo esse padrão.

Se tiver dificuldades no início pode separar por partes que nem fizemos no exemplo, depois você junta até que isso se torne natural.

Conclusão – Otimizar Consultas no SQL com Subqueries

Nessa aula eu te mostrei como fazer a criação de códigos mais otimizados no SQL utilizando as subqueries.

Que nada mais são do que consultas dentro de outras consultas, então você pode colocar um cálculo dentro de outro cálculo para otimizar seu código e ter que escrever menos linhas de código.

Leia também sobre: Trigger no SQL – Para que server e como funciona?

Hashtag Treinamentos

Para acessar outras publicações de SQL, clique aqui!


Quer aprender mais sobre SQL com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador