Todos los laboratorios

Laboratorio 01 · Datos

SQL Lab

Haz preguntas a una pequeña tienda ficticia. El motor SQL vive en tu navegador: puedes experimentar, equivocarte y reiniciarlo sin afectar información real.

01
ConsultarSELECT y FROM
02
FiltrarWHERE y ORDER BY
03
ResumirFunciones y GROUP BY
04
RelacionarJOIN entre tablas
05
EstructurarCTE y subconsultas
06
DecidirCaso de negocio
Preparando motor SQL…
Sin login · Ctrl/⌘ + Enter · Motor SQL local · Compatible con SELECT, JOIN, GROUP BY, INSERT, UPDATE y DELETE
Resultado0 filas
Consulta ejecutada sin filas de salida.

Guía de consulta

Comandos SQL esenciales

Cada ejemplo indica qué hace y cuándo conviene usarlo. Puedes copiarlo al laboratorio y modificarlo.

SELECT columnas FROM tabla;Consultar

Inspeccionar datos sin modificarlos.

WHERE condiciónFiltrar

Conservar registros que cumplen una regla.

ORDER BY columna DESCOrdenar

Identificar máximos, mínimos o prioridades.

LIMIT 10Limitar

Explorar una muestra pequeña.

COUNT(*) / SUM() / AVG()Resumir

Construir indicadores sobre varias filas.

GROUP BY columnaComparar grupos

Obtener indicadores por categoría o periodo.

HAVING condiciónFiltrar grupos

Aplicar una condición después de agregar.

JOIN ... ON ...Relacionar

Combinar entidades mediante sus claves.

INSERT INTO ... VALUES ...Crear

Agregar observaciones nuevas.

UPDATE ... SET ... WHERE ...Actualizar

Corregir filas específicas; revisa WHERE.

DELETE FROM ... WHERE ...Eliminar

Retirar filas; prueba antes con SELECT.

WITH nombre AS (...) SELECT ...Dividir lógica

Hacer verificables consultas complejas.

Ruta completa

Explicaciones y prácticas

0 de 12 prácticas
01
SELECT · FROM

Leer una tabla

Una consulta comienza eligiendo columnas. Antes de resumir o filtrar, observa la estructura y confirma qué representa cada fila.

SELECT nombre, precio
FROM productos;
02
WHERE · ORDER BY · LIMIT

Conservar lo relevante

Filtrar no cambia los datos: construye una vista enfocada. Ordenar ayuda a encontrar extremos, pero debes indicar ascendente o descendente.

SELECT nombre, stock
FROM productos
WHERE stock < 20
ORDER BY stock ASC;
03
COUNT · SUM · AVG · GROUP BY

Resumir sin perder significado

Las agregaciones convierten muchas filas en indicadores. GROUP BY define la unidad de comparación; una cifra sin grupo puede ocultar diferencias importantes.

SELECT categoria,
  ROUND(AVG(precio), 2) AS precio_promedio
FROM productos
GROUP BY categoria;
04
INNER JOIN · LEFT JOIN

Relacionar entidades

Un JOIN combina tablas mediante una relación explícita. Revisa la cardinalidad: una unión incorrecta puede duplicar filas y alterar los totales.

SELECT p.nombre, v.cantidad, v.fecha
FROM ventas v
JOIN productos p ON p.id = v.producto_id;
05
CTE · subconsulta

Construir consultas legibles

Una CTE permite nombrar un resultado intermedio. Úsala para que la lógica sea verificable por etapas, no solamente para hacer una consulta más larga.

WITH totales AS (
  SELECT producto_id, SUM(cantidad) unidades
  FROM ventas GROUP BY producto_id
)
SELECT * FROM totales;
06
Caso integrado

Convertir datos en decisión

La consulta final debe responder una pregunta operativa. Explica el indicador, sus límites y qué acción podría cambiar con el resultado.

SELECT p.nombre,
 SUM(v.cantidad*p.precio) AS ingreso
FROM productos p JOIN ventas v
 ON v.producto_id=p.id
GROUP BY p.nombre ORDER BY ingreso DESC;

Antes de continuar

Lo importante no es acertar a la primera