logo

SQL | Subconsultas na cláusula From

As subconsultas SQL são recursos valiosos que nos permitem incorporar uma consulta em outra, adicionando mais importância à recuperação e manipulação de dados de maneira complicada. Ele é usado para configurar tabelas temporárias ou resultados intermediários para serem usados ​​posteriormente pela consulta externa.

Subconsulta na cláusula FROM

A cláusula FROM pode ser usada para especificar uma expressão de subconsulta em SQL. A relação produzida pela subconsulta é então usada como uma nova relação na qual a consulta externa é aplicada para operações posteriores. Subconsultas noFROMA cláusula é usada quando precisamos criar um conjunto de dados temporário que não existe em nenhuma tabela física. Isso pode ser extremamente útil ao trabalhar com conjuntos de dados complexos.

java tem próximo

As variáveis ​​de correlação das tabelas referenciadas na cláusula FROM da consulta externa não podem ser usadas diretamente nas subconsultas da cláusula FROM. Abaixo estão duas sintaxes de uso de Subconsulta na cláusula FROM usada em diferentes cenários.



1. Subconsulta Simples noFROMCláusula:

SELECIONE coluna1 coluna2

FROM (SELECT coluna_x AS C1 coluna_y FROM tabela WHERE condição) AS subquery_table

ONDE condição_externa;

2. Subconsulta noFROMCláusula comJOIN:

SELECIONE coluna1 coluna2

layout de grade

FROM (SELECT coluna_x AS C1 coluna_y FROM tabela WHERE PREDICATE_X) AS tabela2

JOIN tabela1 ON tabela2.alguma_coluna = tabela1.alguma_coluna

ONDE PREDICADO;

Parâmetros:

  • Subconsulta : a consulta interna entre parênteses. Ele recupera dados que funcionarão como uma tabela temporária.
  • Alias : A subconsulta deve receber um alias (subquery_table) a ser referenciado na consulta externa.
  • Consulta externa : a consulta externa pode então trabalhar com esta tabela temporária criada pela subconsulta aplicando filtros ou executando operações adicionais.

Como funcionam as subconsultas na cláusula FROM

  • Avaliação de subconsulta : A subconsulta na cláusula from é avaliada primeiro e depois os resultados da avaliação são armazenados em uma nova relação temporária. 
  • Consulta externa : depois que a subconsulta é executada e retorna um conjunto de dados, a consulta externa é avaliada selecionando apenas as tuplas da relação temporária que satisfazem o predicado na cláusula where da consulta externa.

Exemplo de uso de subconsulta na cláusula FROM

Vamos discutir alguns exemplos do mundo real para entender como as subconsultas na cláusula FROM funcionam na prática. Aqui temos duas tabelas Instrutor tabela que contém informações sobre instrutores, incluindo salário e departamento. Outro é Departamento tabela que contém informações sobre diferentes departamentos, incluindo o orçamento do departamento.

10 de 50,00

Instrutor Mesa 

ID do instrutorNomeDepartamentoSalário
44547SmithCiência da Computação95.000
44541ContaElétrica55.000
47778SozinhoHumanidades44.000
48147ErikMecânico80.000
411547BálsamoTecnologia da Informação65.000
48898JenaCivil50.000

Departamento Mesa

Nome do DepartamentoOrçamento
Ciência da Computação100.000
Elétrica80.000
Humanidades50.000
Mecânico40.000
Tecnologia da Informação90.000
Civil60.000

Exemplo 1: Encontre todos os professores cujo salário é superior ao orçamento médio de todos os departamentos. 

Neste exemplo utilizaremos uma subconsulta na cláusula FROM para calcular o orçamento médio de todos os departamentos e depois fazer a comparação com os salários dos instrutores.

Consulta:   

SELECT I.InstructorID I.Name I.Department I.Salary  
FROM (SELECT AVG(Budget) AS averageBudget FROM Department) AS BUDGET
Instructor AS I
WHERE I.Salary > BUDGET.averageBudget;

Saída  

ID do instrutorNomeDepartamentoSalário
44547SmithCiência da Computação95.000
48147ErikMecânico80.000

Explicação:

como você desmarca no gimp
  • O orçamento médio de todos os departamentos da relação departamental é 70.000.
  • Erik e Smith são os únicos instrutores na relação de instrutor cujo salário é superior a 70.000 e, portanto, estão presentes na relação de produção. 

Por que usar subconsultas na cláusula FROM?

Existem várias vantagens em usar subconsultas na cláusula FROM conforme indicado abaixo:

  • Simplificação : eles podem simplificar consultas complexas, dividindo-as em partes menores e mais gerenciáveis. Você não precisa criar tabelas temporárias explicitamente em seu banco de dados.
  • Legibilidade aprimorada : usar subconsultas na cláusula FROM torna a consulta mais legível já que divide > Flexibilidade : as subconsultas permitem que você execute operações que, de outra forma, seriam inconvenientes, como agregações ou filtros em relação a outros conjuntos de dados, sem a necessidade de criar tabelas intermediárias.

Conclusão

As subconsultas na cláusula FROM nos permitem definir  conjuntos de resultados temporários que pode ser utilizado por consultas externas. Eles tornam operações SQL complexas mais fáceis, melhoram a legibilidade da consulta e fornecem flexibilidade na filtragem e agregação de dados. Saber como utilizar subconsultas na cláusula FROM é uma habilidade básica para todo praticante de SQL particularmente ao lidar com bancos de dados complexos ou quando você precisa realizar análises de dados complexas.

Criar questionário