Píldora TAI CXII; Comandos SQL Esenciales: DML, Agregación y Más

🧠 Guía Visual y Práctica de Comandos SQL: DML, Agregación y Joins

SQL (Structured Query Language) es el lenguaje por excelencia para gestionar bases de datos relacionales. Esta entrada reúne de forma visual, resumida y actualizada los principales comandos del lenguaje DML (Data Manipulation Language), así como técnicas avanzadas de agregación, subconsultas y combinaciones de tablas.


🛠️ COMANDOS DML (Data Manipulation Language)

  • INSERT: Añade datos nuevos a una tabla.
  • UPDATE: Modifica valores existentes.
  • DELETE: Elimina filas.
  • SELECT: Consulta registros.
  • MERGE: Inserta o actualiza registros según condiciones.

🧨 ¡Cuidado!

Un DELETE sin WHERE borra todos los registros.
Un UPDATE sin SET es inválido.

Ejemplos básicos:

INSERT INTO productos (nombre, precio) VALUES ('Teclado', 20);
UPDATE productos SET precio = 25 WHERE nombre = 'Teclado';
DELETE FROM productos WHERE precio > 100;

📊 FUNCIONES DE AGREGACIÓN

Usadas con GROUP BY para resumir información:

  • COUNT(): Total de registros.
  • AVG(): Promedio.
  • SUM(): Suma.
  • MIN() / MAX(): Mínimo / Máximo.
  • STDEV(): Desviación estándar.

Ejemplo:

SELECT AVG(precio) AS PrecioMedio, COUNT(*) FROM productos;

📚 AGRUPACIÓN AVANZADA

Para filtrar resultados agregados:

  • Se usa HAVING (no WHERE).
  • Permite condiciones sobre funciones de agregación.
SELECT proveedor, COUNT(*) 
FROM pedidos
GROUP BY proveedor
HAVING COUNT(*) > 10;

🔄 COMBINACIÓN DE TABLAS (JOINS)

Unen registros de varias tablas según relaciones lógicas:

Tipo de JOINDescripción
INNER JOINCoincidencias en ambas tablas
LEFT JOINTodos los de la izquierda + coincidencias
RIGHT JOINTodos los de la derecha + coincidencias
FULL OUTER JOINTodos los registros de ambas
CROSS JOINProducto cartesiano (todas las combinaciones)
SELECT * FROM clientes c
INNER JOIN pedidos p ON c.id = p.cliente_id;

🔎 SUBCONSULTAS

Se pueden usar en SELECT, WHERE, HAVING, etc.

SELECT nombre FROM productos 
WHERE precio > (SELECT AVG(precio) FROM productos);

✅ Para que funcionen correctamente:

  • Las columnas deben ser del mismo tipo.
  • La subconsulta debe devolver una única fila si se compara con =, >, etc.
  • Se pueden usar operadores como IN, ANY, EXISTS.

♻️ COMBINACIÓN Y FILTRADO DE CONSULTAS

OperadorFunción
UNIONUne resultados sin duplicados
UNION ALLUne con duplicados
INTERSECTCoincidencias entre dos consultas
EXCEPTDiferencia entre dos consultas

📌 FUNCIONES DE RANGO Y VENTANA

Usadas para análisis avanzados de filas:

ROW_NUMBER() OVER (ORDER BY salario DESC)
RANK() OVER (PARTITION BY departamento ORDER BY salario)

Estas funciones permiten clasificar, rankear y distribuir filas dentro de particiones del conjunto de resultados.


⚙️ INTEGRIDAD REFERENCIAL

Control del comportamiento en actualizaciones/borrados:

  • ON DELETE CASCADE
  • ON UPDATE SET NULL
  • SET DEFAULT

🎓 RESUMEN VISUAL DEL FLUJO DE UNA CONSULTA

SELECT columnas
FROM tabla
[WHERE condiciones]
[GROUP BY columnas]
[HAVING condiciones agregadas]
[ORDER BY columna ASC|DESC];

🖼️ Visualiza y Descarga el Resumen

👉 Descargar Guía Visual de SQL en Alta Resolución


🚀 Recomendaciones

  • Practica con bases de datos reales (como Chinook o Sakila).
  • Usa herramientas como SQLite, MySQL o PostgreSQL.
  • Combina teoría con práctica diaria.

¿Te ha resultado útil esta guía?
🔔 Suscríbete a Anacrolibrum para más contenido técnico y divulgativo sobre bases de datos, programación y ciencia de datos.

Respuesta

  1. […] Píldora TAI CXII; Comandos SQL Esenciales: DML, Agregación y Más – Anacrolibrum […]

    Me gusta

Replica a Píldoras TAI de Anacrolibrum – Anacrolibrum Cancelar la respuesta