Aquí tienes 5 tips muy útiles para quienes están practicando SQL, desde conceptos esenciales hasta buenas prácticas:
1. Domina los JOIN y entiende sus diferencias
No solo memorices la sintaxis; entiende cuándo usar cada tipo de JOIN:
-
INNER JOIN: Trae registros que coinciden en ambas tablas. -
LEFT JOIN: Todos los registros de la tabla izquierda y los coincidentes de la derecha (si no hay coincidencia, valoresNULL). -
RIGHT JOIN: Lo opuesto aLEFT JOIN. -
FULL OUTER JOIN: Todos los registros de ambas tablas (usado menos, pero importante).
Ejemplo práctico:
SELECT users.name, orders.product FROM users LEFT JOIN orders ON users.id = orders.user_id;
2. Usa WHERE vs HAVING correctamente
-
WHERE: Filtra registros antes de agrupar. -
HAVING: Filtra después de agrupar (conGROUP BY).
Ejemplo:
SELECT country, COUNT(*) as total_users FROM users WHERE age > 18 -- Filtra usuarios mayores de 18 ANTES de agrupar GROUP BY country HAVING COUNT(*) > 100; -- Filtra países con más de 100 usuarios
3. Practica con funciones de ventana (Window Functions)
Son ideales para análisis sin colapsar filas. Las más usadas:
-
ROW_NUMBER(): Asigna un número único a cada fila. -
RANK(): Rankea filas con saltos en empates. -
SUM() OVER(PARTITION BY ...): Suma acumulada por grupo.
Ejemplo:
SELECT product_id, sales, RANK() OVER(ORDER BY sales DESC) as ranking FROM sales_data;
4. Optimiza consultas con EXPLAIN
¿Tu consulta es lenta? Usa EXPLAIN (o EXPLAIN ANALYZE en PostgreSQL) para ver cómo la base de datos ejecuta tu query:
EXPLAIN SELECT * FROM users WHERE email = 'test@example.com'; 2. Visualizar el resulatdo de la evualuación SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
-
Revela si falta un índice.
-
Muestra el costo computacional.
-
Te enseña a pensar en rendimiento.
5. Aprende a usar CTEs (Common Table Expressions)
Son más legibles que las subconsultas y permiten recursividad:
WITH top_customers AS ( SELECT user_id, SUM(amount) as total_spent FROM orders GROUP BY user_id HAVING SUM(amount) > 1000 ) SELECT * FROM top_customers ORDER BY total_spent DESC;
Ventajas:
-
Mejora la legibilidad.
-
Puedes reutilizar el CTE múltiples veces en la misma consulta.
Bono, para que dejes un comentario: ¡Practica con datos reales!
habre una cuenta en https://sqlpd.com/ te permitia practicar de una forma sencilla y practica.





