Menu
Coddy logo textTech

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:

  1. Subconsultas escalares: devuelven un solo valor (una fila, una columna)
  2. Subconsultas de fila: devuelven una sola fila con múltiples columnas
  3. 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
challenge icon

Desafío

Fácil

Tablas 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:

  1. Primero, escribe una subconsulta que calcule el promedio de todas las cantidades en la tienda: SELECT AVG(quantity) FROM shop
  2. Después, para cada categoría, suma sus cantidades y compáralas con esta subconsulta usando la palabra clave HAVING

Pruébalo tú mismo

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos