Subqueries Part 1
Parte da seção Fundamentos do Journey de SQL da Coddy — lição 38 de 72.
As subconsultas permitem combinar múltiplas consultas em uma só. Por exemplo, considere a seguinte <strong>employees</strong> tabela:
| ID | salário |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
| 4 | 13 |
| 5 | 28 |
Precisamos de uma subconsulta porque não podemos usar WHERE salary > AVG(salary) diretamente pois funções de agregação como AVG() não podem ser usadas em uma cláusula WHERE - elas só podem ser usadas após os dados terem sido agrupados.
SELECT id, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);Uma subconsulta nos ajuda a encontrar funcionários que ganham mais do que o salário médio da empresa, calculando primeiro a média (consulta interna) e depois usando esse valor para filtrar os funcionários (consulta externa).
Como a média é: (48 + 34 + 46 + 13 + 28) / 5 = 33.8, este é o resultado da consulta:
| ID | salário |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
Desafio
FácilTabelas e colunas disponíveis:
<strong>shop</strong>:<strong>price</strong>,<strong>quantity</strong>,<strong>category</strong>,<strong>list_date</strong>
Escreva uma consulta para encontrar todos os itens (selecionar todas as colunas) onde o preço é maior que o preço médio de todos os itens.
Use uma subconsulta na cláusula WHERE para calcular o preço médio, depois compare o preço de cada item com essa média.
Folha de consulta
Subconsultas permitem combinar múltiplas consultas em uma. Elas são úteis quando você não pode usar funções de agregação como AVG() diretamente em uma cláusula WHERE.
Sintaxe básica de subconsulta:
SELECT column1, column2
FROM table_name
WHERE column1 > (
SELECT AVG(column1)
FROM table_name
);A subconsulta (consulta interna) é executada primeiro para calcular a média, depois a consulta externa usa esse resultado para filtrar os dados.
Experimente você mesmo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns