Curaduría open-source · Python-first · en español

El catálogo

Nº29 · Lenguajes

SQL

El idioma universal para hacerle preguntas a los datos.

LenguajeIntroBase / transversal·Data Engineer·Data Scientistsql

¿Qué es?

SQL (Structured Query Language) es el lenguaje estándar para consultar y manipular datos en bases de datos relacionales (tablas con filas y columnas). Es declarativo: en lugar de programar paso a paso cómo recorrer los datos, describes qué resultado quieres — qué columnas, con qué filtros, agrupado de qué forma — y el motor decide la manera más eficiente de obtenerlo.

Aunque existe un estándar ISO, cada motor habla su propio dialecto (PostgreSQL, MySQL, SQLite, DuckDB, BigQuery, Snowflake…). Las diferencias son menores comparadas con el núcleo común: lo que aprendes en uno se transfiere casi entero al resto.

¿Para qué sirve?

  • Consultar datos. SELECT … WHERE … ORDER BY es el pan de cada día: filtrar, ordenar y proyectar las columnas que te interesan.
  • Resumir y combinar. GROUP BY con funciones de agregación (SUM, COUNT, AVG) y JOIN para cruzar tablas son el corazón de casi todo análisis tabular.
  • Definir y poblar. Con DDL (CREATE TABLE) y DML (INSERT, UPDATE) modelas el esquema y mantienes los datos.
  • La base de todo el stack analítico. dbt transforma con SQL, Trino federa fuentes con SQL, los warehouses (BigQuery, Snowflake) se consultan con SQL. Dominarlo desbloquea media docena de herramientas.

¿Cuándo usarla / cuándo no?

Úsalo para prácticamente cualquier análisis sobre datos estructurados: explorar tablas, construir métricas, alimentar dashboards, transformar en el warehouse. Suele ser más conciso y legible que el código equivalente, y el motor se encarga de optimizar.

Piénsalo dos veces para:

  • Lógica iterativa o procedural compleja (bucles, ramificaciones elaboradas): un lenguaje de propósito general como Python es más natural.
  • Machine learning: el entrenamiento vive en el ecosistema Python (scikit-learn, PyTorch). SQL aporta la preparación de features, no el modelo.
  • Datos muy anidados o no estructurados (JSON profundo, texto libre, imágenes): hay extensiones, pero a menudo otra herramienta encaja mejor.

Empieza en 1 minuto

La forma más rápida de correr SQL sin instalar un servidor es DuckDB: una base analítica que vive en tu proceso.

pip install duckdb
duckdb        # abre el CLI interactivo
-- Crea datos al vuelo y agrégalos — el corazón de SQL en 4 líneas
SELECT pais, SUM(monto) AS total
FROM (VALUES ('PE', 100), ('PE', 50), ('CL', 80)) AS ventas(pais, monto)
GROUP BY pais
ORDER BY total DESC;

Cuando quieras practicar sobre datos reales, DuckDB consulta un CSV directamente: SELECT * FROM 'archivo.csv' LIMIT 10; — sin cargar nada previo.

Trivia rápida — pon a prueba lo que acabas de leer.

¿Qué tanto sabes de SQL?

Documentación oficial

La fuente de verdad vive ahí. Acá orientamos; la profundidad la pones tú.

Abrir documentación oficial

Qué aprender después

Ver también

Nº29 · Actualizado 2026-06-25