Descubra como as subconsultas podem otimizar consultas SQL complexas, permitindo filtrar dados, calcular colunas personalizadas e melhorar joins. Neste artigo, vamos explorar em detalhes o conceito de subconsultas, suas aplicações e exemplos de uso em SQL.

O que são Subconsultas?

Subconsultas, também conhecidas como subqueries, são consultas SQL inseridas dentro de outras consultas SQL. Elas permitem que você faça uma consulta em uma tabela com base nos resultados de outra consulta em outra tabela.

  • As subconsultas são úteis para consultar dados de múltiplas tabelas sem a necessidade de fazer um join entre elas.
  • Permitem identificar registros em uma tabela que correspondem a certos critérios em outra tabela.
  • Podem ser usadas para complementar consultas externas com o resultado da consulta interna.

Sintaxe e Funcionamento das Subconsultas

A sintaxe básica de uma subconsulta é: SELECT colunas FROM tabela WHERE coluna OPERADOR (SELECT colunas FROM tabela WHERE condições);

  • A subconsulta é executada primeiro, e seu resultado é usado para completar a consulta externa.
  • As subconsultas sempre retornam um conjunto de resultados ou um único valor.
  • São comumente usadas com os operadores IN, NOT IN, EXISTS e NOT EXISTS.

Aprenda mais gratuitamente com os nossos cursos!

E aí, bora virar expert? Disponibilizamos 3 aulas gratuitas na plataforma da DNC do curso Introdução à SQL!
Crie uma conta e comece agora a transformar sua carreira!

Principais Operadores Usados com Subconsultas

Alguns dos principais operadores usados com subconsultas são: IN / NOT IN – Verifica se um valor corresponde a qualquer valor em um conjunto de valores retornado por uma subconsulta. EXISTS / NO

  • IN / NOT IN: Verifica a correspondência de um valor em um conjunto retornado por uma subconsulta.
  • EXISTS / NOT EXISTS: Verifica a existência de registros baseada no resultado de uma subconsulta.

Introdução aos Operadores de Subconsulta em SQL

Os operadores de subconsulta em SQL são ferramentas poderosas que permitem aos desenvolvedores realizar consultas mais complexas e eficientes em seus bancos de dados. Eles incluem operadores como EXISTS, =, <>, >, e >=, que são utilizados para comparar valores retornados por subconsultas.

  • Os operadores de subconsulta em SQL permitem realizar consultas mais complexas e eficientes.
  • Os principais operadores de subconsulta incluem EXISTS, =, <>, > e >=

Exemplo 1 – Uso do IN

Um exemplo prático do uso de subconsultas em SQL é a utilização do operador IN. Neste caso, a subconsulta seleciona os CPFs da tabela Faturamento que possuem um valor de Fattotal maior que 50.000, e a consulta externa seleciona os registros da tabela Cadastro cujo CPF exista dentro do conjunto de CPFs retornado pela subconsulta. Isso permite consultar facilmente os dados cadastrais completos dos clientes que faturaram mais de R$50.000, sem a necessidade de realizar joins complexos entre as tabelas.

  • O operador IN permite selecionar registros com base em um conjunto de valores retornados por uma subconsulta.
  • É útil para consultas que envolvem a comparação de valores em diferentes tabelas.

Exemplo 2 – Uso do EXISTS

Outro exemplo relevante é o uso do operador EXISTS. Nesse caso, a subconsulta verifica se existe algum registro na tabela Faturamento que corresponda ao CPF do Cadastro e que tenha um faturamento maior que 100.000. O EXISTS filtrará o resultado para somente os registros do Cadastro onde a subconsulta retornou TRUE, possibilitando a obtenção dos dados desejados de forma eficiente.

  • O operador EXISTS é útil para verificar a existência de registros com base em uma condição especificada na subconsulta.
  • Permite filtrar o resultado da consulta externa com base nos resultados da subconsulta.

Subconsultas Correlacionadas

No exemplo 3, é apresentado o uso de subconsultas correlacionadas, que fazem referência à tabela Cadastro da consulta externa pelo apelido ‘c’. A subconsulta calcula o maior faturamento de cada cliente e retorna esse valor para a coluna personalizada ‘MaiorFaturamento’ na consulta externa.

  • As subconsultas correlacionadas são úteis para realizar cálculos baseados em dados de consultas externas
  • Permitem obter valores personalizados para colunas na consulta principal
  • Podem ser utilizadas para realizar análises mais detalhadas dos dados

Subconsulta no FROM

No exemplo 4, é demonstrado o uso de subconsulta no FROM para substituir a tabela do lado direito do JOIN. A subconsulta calcula a soma de faturamento de cada cliente e retorna apenas aqueles com valor acima de 50.000. Na consulta externa, os dados cadastrais são combinados com o resultado da subconsulta para obter o CPF, Nome e Faturamento total dos melhores clientes.

  • Substituir a tabela do lado direito do JOIN por uma subconsulta pode otimizar o processamento da consulta
  • Permite filtrar e selecionar dados de forma mais eficiente
  • É uma abordagem útil para melhorar a performance de consultas complexas

Conclusão

Dominar o uso de subconsultas é essencial para alcançar um alto nível de proficiência em SQL, permitindo escrever consultas SQL elegantes e eficientes. Pratique os exemplos deste artigo para aprender a usar subconsultas em diversas situações.