🧚 ¡Oye! Beekeeper Studio es una GUI de bases de datos rápida, moderna y de código abierto Descarga
14 de febrero de 2024 Por Matthew Rathbone

Introducción

Restar valores es una operación fundamental en cualquier base de datos SQL, incluida SQLite. Entender cómo hacer restas y usarlas en tus consultas puede mejorar muchísimo la manipulación y el análisis de datos. Esta guía busca desmitificar la resta en SQLite, con ejemplos claros y explicando la lógica detrás de ellos. Ya sea que estés depurando datos financieros, calculando diferencias de tiempo o simplemente haciendo cuentas, dominar la resta en SQLite llevará tu SQL al siguiente nivel.

Conceptos básicos de la resta en SQLite

SQLite, como otras bases de datos SQL, admite las operaciones aritméticas básicas: suma, resta, multiplicación y división. Con el operador - puedes restar fácilmente un valor de otro.

Resta simple

-- Subtracting two numbers
SELECT 10 - 5 AS difference;

Resultado esperado

difference
----------
5

Restar columnas

En un escenario más práctico, quizá quieras restar una columna de otra. En SQLite esto es muy sencillo.

-- Assuming a table 'financials' with columns 'revenue' and 'expenses'
SELECT revenue, expenses, revenue - expenses AS profit FROM financials;

Esta consulta calcula la ganancia restando los gastos de los ingresos en cada fila de la tabla financials.

Técnicas avanzadas de resta

La resta no se limita a la aritmética simple. Puede formar parte de expresiones más complejas, incluidas las que involucran fechas y horas.

Trabajar con fechas

SQLite te permite restar una fecha de otra para obtener la diferencia en días. Sin embargo, para esto necesitas la función julianday, que convierte una fecha en un número de día juliano. Al restar estos números obtienes la diferencia en días.

CREATE TABLE events (
    title TEXT,
    start DATE,
    end DATE);
INSERT INTO events VALUES('Tech Conference', '2024-02-28', '2024-03-02');

Para obtener la duración del evento:

SELECT title, julianday(end) - julianday(start) AS 'duration' 
FROM events;

Resultado esperado:

Tech Conference   2.0

Resta condicional con CASE

Puedes hacer restas condicionales con la sentencia CASE. Esto es útil para cálculos más finos que dependen de ciertas condiciones.

-- Assuming a table 'orders' with columns 'quantity' and 'discount_applied'
SELECT quantity, discount_applied,
       CASE
           WHEN discount_applied THEN quantity - 1
           ELSE quantity
       END AS final_quantity
FROM orders;

Este ejemplo resta uno a la cantidad si se aplicó un descuento, y muestra cómo restar valores de forma condicional.

Casos de uso prácticos

Calcular la edad

Un caso de uso común es calcular la edad de alguien a partir de su fecha de nacimiento.

SELECT name, birthdate,
       (strftime('%Y', 'now') - strftime('%Y', birthdate)) - (strftime('%m-%d', 'now') < strftime('%m-%d', birthdate))
       AS age
FROM people;

Esta consulta calcula la edad restando el año de nacimiento al año actual y ajustando el resultado si hoy es antes del cumpleaños de la persona en este año.

Reportes financieros

La resta es clave en los reportes financieros, por ejemplo, para calcular la variación mensual de los gastos.

-- Assuming a table 'monthly_expenses' with columns 'month' and 'amount'
SELECT month,
       amount - LAG(amount) OVER (ORDER BY month) AS monthly_change
FROM monthly_expenses;

Este ejemplo usa la función de ventana LAG para restar los gastos del mes anterior a los del mes actual, y muestra el poder de la resta en el análisis financiero.

Conclusión

La resta en SQLite es una herramienta versátil en tu caja de herramientas de SQL. Desde la aritmética básica hasta la lógica condicional compleja y el manejo de fechas, saber usar bien la resta te ayuda a descubrir información más profunda en tus datos. Recuerda: la práctica hace al maestro. Experimenta con estos ejemplos e incorpora la resta en tus consultas SQL para ver cómo mejora tu análisis de datos y tus reportes.

Beekeeper Studio es un cliente de bases de datos gratuito y de código abierto

La mejor herramienta de consultas y edición de SQL que he usado. Tiene todo lo que necesito para administrar mi base de datos. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio es rápido, intuitivo y fácil de usar. Es compatible con muchísimas bases de datos y funciona de maravilla en Windows, Mac y Linux.

La versión de Beekeeper para Linux tiene el 100% de las funciones, sin recortes ni concesiones.

Lo que dicen los usuarios de Beekeeper Studio

★★★★★
"Beekeeper Studio reemplazó por completo mi antiguo flujo de trabajo con SQL. Es rápido, intuitivo y hace que trabajar con bases de datos vuelva a ser un placer."
— Alex K., desarrollador de bases de datos
★★★★★
"He probado muchas GUI de bases de datos, pero Beekeeper logra el equilibrio perfecto entre funciones y sencillez. Simplemente funciona."
— Sarah M., ingeniera full stack

¿Listo para mejorar tu flujo de trabajo con SQL?

download Descarga gratis