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 gradeFROM (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 instrutor | Nome | Departamento | Salário |
|---|---|---|---|
| 44547 | Smith | Ciência da Computação | 95.000 |
| 44541 | Conta | Elétrica | 55.000 |
| 47778 | Sozinho | Humanidades | 44.000 |
| 48147 | Erik | Mecânico | 80.000 |
| 411547 | Bálsamo | Tecnologia da Informação | 65.000 |
| 48898 | Jena | Civil | 50.000 |
Departamento Mesa
| Nome do Departamento | Orçamento |
|---|---|
| Ciência da Computação | 100.000 |
| Elétrica | 80.000 |
| Humanidades | 50.000 |
| Mecânico | 40.000 |
| Tecnologia da Informação | 90.000 |
| Civil | 60.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 instrutor | Nome | Departamento | Salário |
|---|---|---|---|
| 44547 | Smith | Ciência da Computação | 95.000 |
| 48147 | Erik | Mecânico | 80.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