Tema 23 · VISTAS & SUBCONSULTAS

Vistas (VIEWS) y Subconsultas (Subqueries)

Aprende a simplificar consultas relacionales complejas mediante vistas reutilizables (CREATE VIEW) y domina las subconsultas anidadas en cláusulas SELECT, FROM y WHERE.

¿Qué es una Vista (VIEW)?

Una vista es una tabla virtual basada en el conjunto de resultados de una consulta SQL. No almacena datos duplicados en disco; cada vez que consultas una vista, el motor ejecuta la consulta subyacente de forma transparente.

Son ideales para encapsular uniones complejas de varias tablas o para otorgar permisos restringidos a usuarios sin exponer columnas sensibles (como contraseñas o salarios):

CREATE VIEW vista_estudiantes_activos AS
SELECT 
    id,
    nombre,
    email,
    ciudad
FROM estudiantes
WHERE activo = 1;

-- Ahora puedes consultarla como si fuera una tabla normal:
SELECT * FROM vista_estudiantes_activos WHERE ciudad = 'Medellín';

Subconsultas (Subqueries) Anidadas

Una subconsulta es una instrucción SELECT incrustada dentro de otra consulta principal. Puede ubicarse en varias cláusulas:

  • Subconsulta en WHERE (con operadores comparativos o IN):
    -- Cursos cuyo precio supera el precio promedio de la academia
    SELECT titulo, precio 
    FROM cursos 
    WHERE precio > (SELECT AVG(precio) FROM cursos);
  • Subconsulta en FROM (Tablas Derivadas / CTEs):

    Tratar el resultado de una subconsulta como si fuera una tabla temporal sobre la cual ejecutar agregaciones posteriores.

  • Subconsulta Escalar en SELECT:

    Devuelve un único valor para cada fila proyectada en el reporte final.

⚡ Cursos con Precio Superior al Promedio General

Encuentra qué cursos tienen un valor por encima del promedio de toda la oferta educativa usando una subconsulta en WHERE:

consulta.sql
Solo lectura
-- Cursos que cuestan más que la media general de la academia
SELECT 
    titulo AS curso,
    nivel,
    horas,
    precio,
    ROUND((SELECT AVG(precio) FROM cursos), 2) AS precio_promedio_general
FROM cursos
WHERE precio > (SELECT AVG(precio) FROM cursos)
ORDER BY precio DESC;
Pruébalo tú mismo » Se abre en una nueva pestaña con ejecución en vivo
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar Manual Completo de SQL & MySQL y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.