¡Suscríbete a mi canal de Youtube!

▷ SUBCONSULTAS de datos en MySQL

 

Subconsultas en SQL y su uso en sentencias

Una subconsulta es una consulta dentro de otra consulta. Son muy útiles cuando necesitas obtener un dato adicional o temporal que no puedes consultar directamente. En este artículo veremos tres formas de utilizar subconsultas en SQL, trabajando con las tablas ventas y productos de nuestra base de datos tiendita.


🔍 Subconsulta en la cláusula WHERE

En este ejemplo, queremos consultar todas las ventas donde se haya vendido una "Laptop". Como no conocemos el id_producto, usamos una subconsulta para obtenerlo desde la tabla productos.

USE tiendita;

SELECT vendedor, cantidad, total
FROM ventas
WHERE id_producto = (
    SELECT id
    FROM productos
    WHERE nombre = 'Laptop'
);

✔️ Aquí, la subconsulta interna devuelve el ID del producto "Laptop", y la consulta principal muestra todas las ventas relacionadas.

---

🧩 Subconsulta en el SELECT

Ahora queremos mostrar cada venta y, además, incluir el nombre del producto vendido. Lo haremos con una subconsulta dentro del SELECT que devuelva el nombre desde la tabla productos.

SELECT 
  vendedor,
  cantidad,
  total,
  (SELECT nombre 
   FROM productos 
   WHERE productos.id = ventas.id_producto) AS nombre_producto
FROM ventas;

🔎 Esta subconsulta se ejecuta una vez por fila y devuelve el nombre del producto correspondiente al id_producto de cada venta.

---

📦 Subconsulta en el FROM

En este caso, queremos trabajar con una tabla temporal que sume el total de ventas por vendedor. Luego, sobre esa tabla generada dinámicamente, aplicamos un filtro.

SELECT vendedor, total_vendido
FROM (
    SELECT vendedor, SUM(total) AS total_vendido
    FROM ventas
    GROUP BY vendedor
) AS resumen_ventas
WHERE total_vendido > 30000;

💡 Primero se agrupan y suman las ventas por vendedor (subconsulta del FROM), y después se filtran aquellos que superan los $30,000 en total vendido.

---

📌 Conclusión

Las subconsultas son una herramienta poderosa para resolver problemas complejos en SQL de forma organizada. Puedes usarlas para filtrar, calcular o enriquecer tus resultados con datos adicionales. Recuerda:

  • Usa subconsultas en WHERE para filtrar con resultados dinámicos.
  • Usa subconsultas en SELECT para agregar columnas calculadas.
  • Usa subconsultas en FROM para crear tablas temporales que puedes consultar o filtrar.

En el siguiente video te muestro como realizarlas en MySQL Workbench.

 


🗨️ ¿Te gustaría que sigamos con subconsultas correlacionadas o anidadas?

Déjame tu comentario si quieres que prepare un artículo con ejemplos más avanzados, como subconsultas con operadores IN, EXISTS o con condiciones múltiples. ¡Y no olvides seguir el blog para más contenido educativo de bases de datos! 🔎💻

Comentarios

Entradas populares

Donaciones

Seguidores del blog

Suscríbete al blog

Recibe mis nuevas publicaciones por email: