Aritmética y operadores
Sume, reste, multiplique y divida en SQL
Aritmética y operadores es una lección gratuita de SQL Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SQL Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SQL Academy incluye 4 lecciones en total.
Hacer cálculos en SELECT
SQL no sirve únicamente para recuperar filas. Puede calcular valores directamente dentro de una consulta mediante operadores aritméticos.
En esta lección sumará, restará, multiplicará y dividirá usando columnas y literales, asignará nombres a los resultados y comprenderá cómo PostgreSQL determina el tipo de cada resultado.
Imagine una tabla order_items con las columnas quantity y unit_price. Puede calcular el total de una línea sin tocar el código de la aplicación.
SELECT quantity, unit_price, quantity * unit_price AS line_total
FROM order_items;Los cinco operadores aritméticos
PostgreSQL admite los operadores habituales:
+suma-resta*multiplicación/división%módulo (resto)
Funcionan con columnas numéricas y literales igual que en cualquier lenguaje de programación. La consulta siguiente muestra cada uno en acción.
SELECT
10 + 3 AS sum,
10 - 3 AS difference,
10 * 3 AS product,
10 / 3 AS quotient,
10 % 3 AS remainder;Prioridad de los operadores
SQL sigue la prioridad matemática estándar: *, / y % tienen prioridad sobre + y -.
Use paréntesis para hacer explícita la intención y anular el orden predeterminado. Las dos expresiones siguientes producen resultados muy diferentes.
SELECT
2 + 3 * 4 AS without_parens, -- 14
(2 + 3) * 4 AS with_parens; -- 20Calcular un precio con descuento
Una tarea habitual en el mundo real es aplicar un descuento porcentual. Multiplique el precio por (1 - discount_rate).
Aquí, discount_rate se almacena como una fracción (0.15 = 15 %). Los paréntesis garantizan que la resta se realice antes de la multiplicación.
SELECT
product_id,
price,
discount_rate,
price * (1 - discount_rate) AS final_price
FROM products;Cálculos entre columnas
Los operandos no tienen que ser literales. Puede combinar varias columnas en una sola expresión.
A continuación calculamos el beneficio neto por venta: los ingresos menos el coste, ajustados según la cantidad vendida.
SELECT
sale_id,
(sale_price - cost) * quantity AS profit
FROM sales;Asignar nombres a los resultados con AS
Las columnas calculadas reciben nombres generados automáticamente, como ?column?, a menos que les asigne un alias. Use siempre AS para asignarles nombres descriptivos.
Un alias también le permite referenciar la columna con mayor claridad en sus herramientas e informes.
SELECT
base_salary,
base_salary * 0.10 AS bonus,
base_salary + base_salary * 0.10 AS total_pay
FROM employees;Aritmética en WHERE
También puede usar operaciones aritméticas en la cláusula WHERE, no solo en SELECT.
Esto filtra los pedidos cuyo total calculado supera 100. Nota: aplicar operaciones matemáticas a una columna puede impedir el uso de índices, por lo que, si el rendimiento es importante, es preferible usar columnas sin modificar en los filtros.
SELECT order_id, quantity, unit_price
FROM order_items
WHERE quantity * unit_price > 100;El tipo del resultado depende de los operandos
PostgreSQL infiere el tipo del resultado a partir de los operandos. La suma de un entero más otro entero produce un entero; si uno de los lados es numeric o float, el resultado también lo será.
Esto es especialmente importante en las divisiones, que veremos más adelante. Por ahora, observe cómo la combinación de tipos promueve el resultado.
SELECT
pg_typeof(4 + 2) AS int_type, -- integer
pg_typeof(4 + 2.0) AS numeric_type, -- numeric
pg_typeof(4 * 1.5); -- numericEl operador de módulo
% devuelve el resto de una división entera. Es útil para lógicas cíclicas, como «cada N.ª fila», o para comprobar si los valores son pares o impares.
A continuación buscamos los identificadores de productos pares usando % 2 = 0.
SELECT product_id, name
FROM products
WHERE product_id % 2 = 0;Actualizar valores con operaciones aritméticas
La aritmética no se limita a SELECT. Puede usarla en UPDATE para ajustar valores almacenados.
Esto aumenta un 5 % el precio de cada producto de una categoría. La expresión de la derecha se evalúa para cada fila.
UPDATE products
SET price = price * 1.05
WHERE category = 'electronics';Cuidado con NULL
Cualquier operación aritmética que incluya NULL produce NULL, porque el resultado es desconocido.
Si una columna puede no tener valor, envuélvala con COALESCE para proporcionar un valor predeterminado antes de realizar los cálculos.
SELECT
base + NULL AS is_null, -- NULL
base + COALESCE(bonus, 0) AS safe_total
FROM payroll;Comprobación rápida
¿Cuál es el resultado de la expresión 2 + 6 / 2 en PostgreSQL?
Resumen
Puede calcular valores directamente en SQL:
+ - * / %son los operadores principales*,/y%tienen prioridad sobre+y-; use paréntesis para hacerlo explícito- Asigne alias a las columnas calculadas con
AS - La aritmética funciona en
SELECT,WHEREyUPDATE - El tipo del resultado depende de los operandos y cualquier operando
NULLhace que el resultado seaNULL
A continuación abordaremos el redondeo y el truncamiento de esos resultados numéricos.
Preguntas frecuentes
¿La lección «Aritmética y operadores» es gratis?
Sí — el texto completo de «Aritmética y operadores» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SQL Academy, actualiza a CoddyKit PRO. El curso de SQL Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Aritmética y operadores»?
Sume, reste, multiplique y divida en SQL Practicas SQL Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar SQL Academy?
No se requiere experiencia previa. SQL Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Aritmética y operadores»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de SQL Academy?
Sí. Cada lección de SQL Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Aritmética y operadores
- Redondeo y truncamiento
- División de enteros frente a división decimal
- Funciones matemáticas útiles