Intro a SQL y MySQL
Por Nacho Cabanes, versión 0.16

Tema 5 - Operaciones matemáticas

5.1 Operaciones matemáticas

Desde SQL podemos realizar operaciones a partir de los datos antes de mostrarlos. Por ejemplo, podemos mostrar cual era la edad de una persona hace un año, con

select edad-1 from personas;

Los operadores matemáticos que podemos emplear son los habituales en cualquier lenguaje de programación, ligeramente ampliados: + (suma), - (resta y negación), * (multiplicación), / (división) . La división calcula el resultado con decimales; si queremos trabajar con números enteros, también tenemos los operadores DIV (división entera) y MOD (resto de la división):

select 5/2, 5 div 2, 5 mod 2;

Daría como resultado

+--------+---------+---------+
| 5/2    | 5 div 2 | 5 mod 2 |
+--------+---------+---------+
| 2.5000 |       2 |       1 |
+--------+---------+---------+


También podríamos utilizar incluso operaciones a nivel de bits, como las del lenguaje C:

select 25 >> 1, 25 << 1, 25 | 10, 25 & 10, 25 ^10;

que daría

+---------+---------+---------+---------+--------+
| 25 >> 1 | 25 << 1 | 25 | 10 | 25 & 10 | 25 ^10 |
+---------+---------+---------+---------+--------+
|      12 |      50 |      27 |       8 |     19 |
+---------+---------+---------+---------+--------+

5.2 Funciones de agregación

También podemos aplicar ciertas funciones matemáticas a todo un conjunto de datos de una tabla. Por ejemplo, podemos saber cual es la edad más baja de entre las personas que tenemos en nuestra base de datos, haríamos:

select min(edad) from personas;

Las funciones de agregación más habituales son:

La forma más habitual de usar "count" es pidiendo con "count(*)" que se nos muestren todos los datos que cumplen una condición. Por ejemplo, podríamos saber cuantas personas tienen una dirección que comience por la letra "s", así:

select count(*) from personas where direccion like 's%';