¿Por qué aprender SQL hoy?
Una empresa almacena sus clientes, pedidos, productos y pagos en datos estructurados. SQL permite formular una pregunta específica a estos datos: buscar un pedido, calcular una facturación, conciliar clientes con sus compras o comprobar una anomalía.
SQL es un lenguaje. PostgreSQL, MySQL y SQL Server son sistemas de gestión de bases de datos y cada uno entiende un dialecto de este idioma. Así podrás aprender los principios comunes antes de especializarte en un motor.
Una hoja de cálculo sigue siendo muy útil para un análisis puntual. Una base de datos adquiere especial relevancia cuando los datos son numerosos, están vinculados, compartidos o actualizados por varios procesos.
Empieza con la pregunta, no con el código
Antes de escribir una solicitud, reformula la necesidad en una oración comprobable. "¿Qué clientes ordenaron?" » y "¿Qué clientes pagaron?" » no designar el mismo perímetro. Esta precisión evita producir un resultado técnicamente válido pero falso para la profesión.
Luego identifica la granularidad: ¿una línea representa un cliente, un pedido o un producto solicitado? Finalmente, identifica las columnas útiles y el control que verificará el resultado.
- Pregunta: ¿Qué resultado se debe obtener?
- Alcance: ¿qué líneas deben incluirse o excluirse?
- Granularidad: ¿qué representa exactamente una fila del resultado?
- Control: ¿qué total o muestra puede detectar un error?
Leer y filtrar con SELECT, FROM y WHERE
Imaginemos una tabla orders que contiene el ID del pedido, la ciudad, el estado y el monto. SELECT elige las columnas a mostrar, FROM indica la tabla consultada y WHERE solo mantiene las filas que cumplen una condición.
La siguiente consulta busca pedidos pagados de al menos 100€. La clasificación coloca primero las cantidades más altas para facilitar la inspección visual.
- Los textos están colocados en apóstrofes.
- Los números se comparan sin apóstrofes.
- AND requiere que ambas condiciones sean verdaderas.
- ORDER BY cambia el orden de visualización, no los datos almacenados.
SELECT order_id, city, amount
FROM orders
WHERE status = 'paid'
AND amount >= 100
ORDER BY amount DESC;Calcular un indicador con GROUP BY
Una pregunta de análisis muchas veces requiere agrupar varias líneas. Para conocer la facturación pagada por ciudad, SQL suma los importes con SUM y crea un grupo por ciudad.
Cada columna mostrada que no esté agregada generalmente debería aparecer en GROUP BY. El filtro permanece aplicado antes del cálculo: un pedido cancelado no contribuye al volumen de ventas.
SELECT
city,
SUM(amount) AS revenue
FROM orders
WHERE status = 'paid'
GROUP BY city
ORDER BY revenue DESC;Conectar mesas con JOIN
El nombre del cliente pertenece a la tabla customers, mientras que el monto pertenece a orders. Un join reconstituye la relación utilizando una clave común, aquí customer_id.
La siguiente consulta calcula el monto pagado por cliente. INNER JOIN solo mantiene los pedidos asociados con un cliente existente. Antes de agregar, comprueba que join no multiplique filas inesperadamente.
SELECT
c.customer_id,
c.full_name,
SUM(o.amount) AS total_paid
FROM customers AS c
INNER JOIN orders AS o
ON o.customer_id = c.customer_id
WHERE o.status = 'paid'
GROUP BY c.customer_id, c.full_name
ORDER BY total_paid DESC;¿En qué orden debo aprender SQL?
Una progresión eficaz alterna un concepto breve y una práctica inmediata. Empieza consultando una tabla, luego agrupa agregaciones y joins. El CTE y las funciones de ventana se vuelven útiles cuando estas bases son estables.
No midas tu nivel por el número de palabras clave memorizadas. Mídelo según tu capacidad para explicar el resultado, detectar un error de alcance y adaptar una consulta a una nueva pregunta.
- Paso 1: Valores SELECT, WHERE, ORDER BY y NULL.
- Paso 2: COUNT, SUM, AVG, GROUP BY y HAVING.
- Paso 3: INNER JOIN, LEFT JOIN y verificación de granularidad.
- Paso 4: Subconsultas, CTE, CASE y funciones de ventana.
- Paso 5: proyectos empresariales y optimización de consultas.
Errores que frenan a los principiantes
Copiar una solución sin predecir su resultado da la impresión de velocidad, pero genera poca autonomía. Haga un primer intento, lea el mensaje de error y luego utiliza una sugerencia específica antes de mostrar la solución.
Los errores más costosos no siempre son sintácticos. Un join en la clave incorrecta, un filtro colocado demasiado tarde o contar con una granularidad incorrecta pueden producir una cifra creíble pero incorrecta.
- Usar
SELECT *sin saber qué columnas se necesitan. - Confunda WHERE, que filtra filas, y HAVING, que filtra grupos.
- Olvídate de que
NULLse prueba con IS NULL o IS NOT NULL. - Confía en el resultado sin controlar unas líneas y un total.
Convierta esta guía en práctica
Si está empezando desde cero, siga el camino del principiante en orden y ejecuta cada ejemplo. Si ya has escrito algunas consultas, la prueba de nivel te indicará las habilidades a consolidar. El catálogo de ejercicios te permite entonces trabajar sobre un concepto específico.
Construye unos fundamentos sólidos.
Sigue Fundamentos de SQL desde la primera tabla hasta un análisis verificado.
