3rd Jul 2025 Lectura de 6 minutos Cómo escribir consultas SQL que cualquiera pueda entender Jakub Romanowski sql tips princípios básicos de SQL Índice Por qué es importante escribir un SQL comprensible Comprender el orden de procesamiento de SQL Divida las consultas largas en partes (usando CTEs) Utilice mayúsculas para las palabras clave SQL Sangría en el código Una cláusula por línea Utilice alias significativos Utilice AS para renombrar columnas Evite SELECT * Añadir comentarios útiles Utilice índices cuando sea necesario No te repitas Utilice herramientas que le ayuden ¿Listo para seguir aprendiendo? Escribir SQL que funcione es una cosa. Escribir SQL que otra persona pueda leer y decir, "¡Oh, lo entiendo!" es un nivel completamente diferente. ¿Y sinceramente? Es una de las cosas más útiles que puedes aprender si trabajas con datos. Ya sea para crear informes, analizar el comportamiento de los clientes o responder a una pregunta rápida de tu jefe, probablemente utilizarás SQL. Y si ese SQL es desordenado o confuso, retrasará a todo el mundo, incluido a usted mismo. Esta guía le ayudará a escribir consultas SQL que sean fáciles de leer, sencillas de modificar y que tengan sentido para los demás, incluso si aún no tiene conocimientos de SQL. ¿Quieres practicar SQL con ejercicios para principiantes? Prueba el cursoSQL para principiantes en LearnSQL.com. Por qué es importante escribir un SQL comprensible SQL no es sólo para las máquinas. Claro, la base de datos ejecuta tus consultas, pero la gente real también tiene que leerlas. Y si tu SQL es desordenado o confuso, no sólo estás complicando la vida a los demás, sino también a ti mismo. Escribir un SQL claro ahorra tiempo. Facilita la corrección de errores, la colaboración con compañeros de equipo y la revisión posterior de código antiguo sin tener que rascarse la cabeza. Piensa en ello como si escribieras una nota a tu futuro yo o a un compañero de equipo: hazlo lo suficientemente claro para que no necesite traducción. Un SQL legible también demuestra que te importa. Es parte de ser un buen comunicador. Y cuando trabajas en equipo, eso es muy importante. ¿Alguna vez has abierto una consulta gigante de 100 líneas sin comentarios y con nombres de variables poco claros? Ahora imagina intentar arreglarlo bajo presión. No es divertido. Comprender el orden de procesamiento de SQL Puede que escribas SQL de arriba abajo, pero la base de datos no lo lee así. Este es el orden real que sigue: FROM WHERE GROUP BY HAVING SELECT ORDER BY LIMIT Comprenderlo le ayudará a estructurar su lógica y a detectar errores más fácilmente. Divida las consultas largas en partes (usando CTEs) En lugar de meter todo en una consulta larga, utilice expresiones comunes de tabla (CTE) para dividir la lógica en pasos manejables. Esta es una versión que utiliza una subconsulta: SELECT * FROM ( SELECT customer_id, COUNT(*) AS order_count FROM orders GROUP BY customer_id ) AS subquery WHERE order_count > 5; Aquí está la misma lógica utilizando una CTE: WITH orders_cte AS ( SELECT customer_id, COUNT(*) AS order_count FROM orders GROUP BY customer_id ) SELECT * FROM orders_cte WHERE order_count > 5; Esta versión es más fácil de seguir. Cuenta la historia paso a paso y hace que su código sea más fácil de reutilizar, probar y mantener. Utilice mayúsculas para las palabras clave SQL Poner en mayúsculas palabras clave como SELECT, FROM, y WHERE ayuda a que destaquen y mejora la legibilidad. Es una práctica común que facilita la lectura de las consultas. Sangría en el código La sangría muestra cómo se relacionan las distintas partes de la consulta. Cuando se utilizan subconsultas o lógica compleja, la sangría aclara la estructura. Compare estos ejemplos: Sin sangría: SELECT customer_id FROM (SELECT customer_id, COUNT(*) AS total_orders FROM orders GROUP BY customer_id) AS subquery WHERE total_orders > 5; Con sangría: SELECT customer_id FROM ( SELECT customer_id, COUNT(*) AS total_orders FROM orders GROUP BY customer_id ) AS subquery WHERE total_orders > 5; Una cláusula por línea Dividir las consultas en líneas separadas para cada cláusula (SELECT, FROM, WHERE, etc.) facilita su análisis y depuración: SELECT customer_id, COUNT(*) AS order_count FROM orders WHERE status = 'delivered' GROUP BY customer_id; Utilice alias significativos Evite alias cortos y vagos como a, b, o t1. En su lugar, utilice alias que describan lo que es la tabla: SELECT o.customer_id FROM orders AS o O incluso mejor: SELECT orders.customer_id FROM orders Utilice alias sólo cuando sea necesario y asegúrese de que ayudan, no que confunden. Utilice AS para renombrar columnas Si estás creando nuevas columnas, como totales o promedios, utiliza AS para darles nombres claros: SELECT COUNT(*) AS total_orders De este modo, los resultados serán más fáciles de entender y los resultados serán claros y profesionales. Evite SELECT * Obtener todas las columnas utilizando SELECT * puede parecer fácil, pero puede causar problemas: Incluye datos innecesarios o sensibles. Ralentiza las consultas dificulta la comprensión y el mantenimiento del código En su lugar, liste las columnas que realmente necesita: SELECT customer_id, order_date, total_amount FROM orders Añadir comentarios útiles Utilice -- para añadir comentarios en SQL. Los comentarios explican por qué su consulta hace algo, lo que a menudo es más útil que lo que hace. Ejemplo: -- Only show active customers who ordered in the last 30 days WHERE customer_status = 'active' AND order_date >= CURRENT_DATE - INTERVAL '30 days' Los comentarios son como notas para su futuro yo - o para la siguiente persona que trabaje en la consulta. Utilice índices cuando sea necesario Si a menudo filtras o unes por una columna específica, esa columna podría beneficiarse de un índice. Los índices ayudan a la base de datos a encontrar los datos más rápidamente. Si no está seguro de qué columnas están indexadas, pregunte al administrador de la base de datos o consulte el esquema. No te repitas Si estás calculando algo complejo, hazlo una vez y reutilízalo: no repitas la lógica. Los CTEs son perfectos para esto: WITH order_totals AS ( SELECT customer_id, SUM(total_amount) AS total_spent FROM orders GROUP BY customer_id ) SELECT * FROM order_totals WHERE total_spent > 1000; Utilice herramientas que le ayuden Aquí hay algunas herramientas para principiantes que pueden hacer que escribir SQL sea más fácil: SQL Formatter - Limpia automáticamente tu código con el espaciado y la estructura adecuados. Pruébalo en VS Code o en tu editor SQL favorito. Embellecedores en línea - Sitios como org te permiten pegar consultas desordenadas y obtener una versión limpia al instante. SQL Linters - Estas herramientas comprueban tus consultas en busca de errores o formatos incoherentes y sugieren mejoras. Son ideales para aprender las mejores prácticas sobre la marcha. El uso de estas herramientas te ayuda a crear mejores hábitos y a escribir SQL de forma más clara y rápida. ¿Listo para seguir aprendiendo? Ha llegado hasta aquí, y eso ya le sitúa a la cabeza del juego. Si quieres seguir desarrollando tus habilidades de forma práctica y divertida, el mejor paso siguiente es la práctica. He aquí algunos recursos útiles de LearnSQL.es: SQL para principiantes - Construye tus cimientos con conocimientos esenciales de SQL. Tipos de JOIN en SQL - Aprenda a combinar datos en múltiples tablas. 20 ejemplos de consultas SQL básicas para principiantes Elija una consulta desordenada de su propio trabajo y límpiela utilizando lo que ha aprendido. A continuación, haga otra. Muy pronto, escribir SQL limpio y fácil de entender le resultará natural. Tags: sql tips princípios básicos de SQL