Publicado el Dejar un comentario

Oracle: uso de la sentencia WITH en consultas sql complejas.

Simplifica tus Consultas Complejas con la Cláusula WITH en Oracle SQL

¿Alguna vez has escrito una consulta SQL tan larga y anidada que te costó entenderla incluso a ti mismo? La cláusula WITH, también conocida como Expresión de Tabla Común (CTE por sus siglas en inglés), es una herramienta poderosa en Oracle SQL que te permite resolver este problema.

Piensa en la cláusula WITH como una forma de crear bloques de construcción para tus consultas. En lugar de escribir una sola y enorme consulta, puedes definir pequeñas subconsultas temporales, darles un nombre y luego referenciarlas en tu consulta principal. Estas “tablas temporales” solo existen durante la ejecución de la consulta.

¿Por qué Usar WITH?

La principal razón para usar WITH es mejorar la legibilidad y el mantenimiento de tu código. Al desglosar una consulta compleja en pasos lógicos, cualquiera que la lea puede entender fácilmente lo que hace cada parte.

Además de la claridad, la cláusula WITH ofrece otros beneficios clave:

  • Reusabilidad: Puedes referenciar la misma CTE múltiples veces dentro de la consulta principal. Esto evita la repetición de código y hace que tus sentencias sean más eficientes, ya que Oracle puede optimizar la ejecución.
  • Rendimiento: En ciertos escenarios, la optimización de Oracle puede manejar una CTE de manera más eficiente que una subconsulta anidada.
  • Funcionalidad Avanzada: Es una pieza fundamental para la creación de consultas recursivas, un tema más avanzado que te permite procesar estructuras jerárquicas de datos.

Sintaxis Básica de la Cláusula WITH

La estructura es sencilla. Primero, defines una o más CTEs con sus respectivas subconsultas. Luego, escribes tu consulta SELECT principal que utiliza esas CTEs.

SQL

WITH nombre_cte_1 AS (
    -- Subconsulta que define la primera CTE
    SELECT ...
),
nombre_cte_2 AS (
    -- Otra subconsulta que puede usar nombre_cte_1
    SELECT ...
)
-- La consulta principal que utiliza las CTEs definidas
SELECT ...
FROM nombre_cte_1, nombre_cte_2
WHERE ...;

Ejemplo Práctico: Salarios por Departamento

Imagina que quieres encontrar a todos los empleados cuyo salario es superior al salario promedio de su propio departamento.

Sin la cláusula WITH (el enfoque anidado):

Este enfoque es funcional, pero la subconsulta anidada puede dificultar la lectura, especialmente si la lógica fuera más compleja.

SQL

SELECT
    e.nombre,
    e.salario,
    e.departamento
FROM
    empleados e
WHERE
    e.salario > (
        SELECT AVG(salario)
        FROM empleados
        WHERE departamento = e.departamento
    );

Con la cláusula WITH (el enfoque claro y modular):

Aquí, primero calculamos el salario promedio por departamento en nuestra CTE llamada salarios_promedio. Luego, en la consulta principal, unimos esta CTE con la tabla de empleados para obtener el resultado deseado. El código es mucho más fácil de seguir y entender.

SQL

WITH salarios_promedio AS (
    SELECT
        departamento,
        AVG(salario) AS salario_medio
    FROM
        empleados
    GROUP BY
        departamento
)
SELECT
    e.nombre,
    e.salario,
    e.departamento
FROM
    empleados e
JOIN
    salarios_promedio sp
ON
    e.departamento = sp.departamento
WHERE
    e.salario > sp.salario_medio;

Como puedes ver, la versión con WITH descompone el problema en dos pasos lógicos: primero, calcular los promedios y, segundo, filtrar a los empleados usando esos promedios. Esto no solo mejora la legibilidad, sino que también facilita la depuración si algo sale mal.


Conclusión

La cláusula WITH es una de las mejores prácticas en el mundo de SQL. No es solo una alternativa a las subconsultas anidadas; es una forma de escribir código más limpio, modular y, en muchos casos, más eficiente. Si aún no la has incorporado en tu repertorio de SQL, te animo a empezar hoy mismo.

¿En qué tipo de consultas crees que la cláusula WITH te resultará más útil? ¡Cuéntanos en los comentarios!

¡Hasta la próxima!

Publicado el Dejar un comentario

Microsoft Word: cómo quitar el borde de una página.

¿Alguna vez has abierto un documento en Word y te has encontrado con ese borde decorativo que no encaja con lo que quieres presentar? Ya sea que estés ajustando el estilo de un informe, una carta formal o una rutina de entrenamiento que deseas imprimir sin distracciones, quitar el borde de página es muy sencillo… si sabes dónde buscar.

Hoy te explico paso a paso cómo eliminar ese borde de forma rápida y efectiva, sin complicaciones.


🛠️ Paso a paso: elimina el borde de tu página

  1. Abre tu documento en Word.
  2. Ve a la pestaña superior que dice Diseño (en algunas versiones puede decir “Diseño de página”).
  3. En el grupo llamado Fondo de página, haz clic en Bordes de página.
  4. Aparecerá una ventana emergente. En la sección Configuración, selecciona la opción Ninguno.
  5. En “Aplicar a”, asegúrate de elegir Todo el documento (o solo la sección que desees modificar).
  6. Haz clic en Aceptar. ¡Listo! El borde ha desaparecido.

🎥 ¿Prefieres verlo en acción?

Aquí tienes algunos tutoriales en video que muestran el proceso visualmente:


¡Saludos!

Publicado el Dejar un comentario

Google Sheets: ¿cómo cambiar el separador de decimales (de coma a punto)?


Guía rápida para modificar la configuración regional en Google Sheets y usar el punto como separador de decimales.


Si trabajas con datos en Google Sheets, es probable que te hayas encontrado con un problema común: tu hoja de cálculo utiliza la coma (,) como separador de decimales en lugar del punto (.). Esto puede ser un dolor de cabeza, especialmente si estás acostumbrado al formato anglosajón o si copias datos de otras fuentes.

La buena noticia es que cambiarlo es muy sencillo. Solo necesitas ajustar la configuración regional de tu hoja. Aquí te explico cómo hacerlo en solo unos pasos.

El problema: la configuración regional

Google Sheets adapta el formato de números, fechas y monedas a la configuración regional del país que tengas seleccionado. Por ejemplo, si tu hoja está configurada para España, usará la coma como separador de decimales. Si quieres usar el punto, solo tienes que cambiar esta configuración a un país que lo utilice, como México.


Paso a paso: de coma a punto

Sigue estos sencillos pasos para cambiar el formato de forma permanente en tu hoja:

  1. Abre tu hoja de cálculo de Google.
  2. Ve al menú superior y haz clic en Archivo.
  3. En el menú desplegable, selecciona Configuración de la hoja de cálculo.
  4. Se abrirá una ventana emergente. En la sección General, verás la opción Configuración regional.
  5. Haz clic en el menú desplegable y elige un país que use el punto como separador de decimales en mi caso México.
  6. Una vez que hayas seleccionado el país, haz clic en el botón azul Guardar configuración.

¡Listo! Tu hoja de cálculo se recargará automáticamente y todos los números decimales que antes tenían una coma ahora se mostrarán con un punto.

¿Qué más cambia con la configuración regional?

Ten en cuenta que esta configuración no solo afecta a los decimales. También puede modificar:

  • El separador de miles: En el formato mexicano, la coma se usa para los miles (ej: 1,000.50).
  • El símbolo de moneda: Si seleccionas México, el símbolo por defecto será el peso ($).
  • El formato de fecha y hora: Pasará de mm/dd/aaaa a dd/mm/aaaa.

Si necesitas un formato muy específico y esta opción no te sirve, puedes usar fórmulas como SUSTITUIR para cambiar los caracteres dentro de las celdas, pero para la mayoría de los casos, ajustar la configuración regional es la solución más rápida y efectiva.

¡Hasta luego!