Subqueries Part 2
Parte de la sección Fundamentos del Journey de SQL de Coddy — lección 39 de 72.
Hay tres tipos principales de subconsultas:
- Subconsultas escalares: devuelven un solo valor (una fila, una columna)
- Subconsultas de fila: devuelven una sola fila con múltiples columnas
- Subconsultas de tabla: devuelven múltiples filas y columnas
Por ejemplo, aquí hay algunos casos de uso para cada tipo de subconsulta:
Subconsulta escalar - Encontrar empleados que ganan más que el salario promedio:
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);Subconsulta de fila - Encontrar empleado(s) con el mismo department y salary que Alice
SELECT name
FROM employees
WHERE (department, salary) = (
SELECT department, salary
FROM employees
WHERE name = 'Alice'
);Subconsultas de tabla - Mostrar departamentos y su recuento de empleados
SELECT department, count
FROM (
SELECT department, COUNT(*) as count
FROM employees
GROUP BY department
) as dept_counts;Observe los casos de uso:
- Escalar: comparaciones simples (>, <, =)
- Cuando necesitas coincidir con múltiples columnas
- Cuando necesitas realizar una consulta a partir de un conjunto de resultados
Desafío
FácilTablas y columnas disponibles:
shop:price,quantity,category,list_date
Encuentra las categorías donde su cantidad total sea mayor que el promedio de todas las cantidades en la tienda.
Importante: Debes usar una subconsulta dentro de la cláusula HAVING para calcular el promedio. No uses un valor fijo ni una consulta separada — la subconsulta debe calcular AVG(quantity) de la tabla shop directamente dentro de HAVING.
Pasos para resolver:
- Primero, escribe una subconsulta que calcule el promedio de todas las cantidades en la tienda:
SELECT AVG(quantity) FROM shop - Después, para cada categoría, suma sus cantidades y compáralas con esta subconsulta usando la palabra clave
HAVING
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones 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