Listado completo de tutoriales

54 - Combinaciones y funciones de agrupamiento


Podemos usar "group by" y las funciones de agrupamiento con combinaciones de tablas.

Para ver la cantidad de libros de cada editorial consultando la tabla "libros" y "editoriales", tipeamos:

 select nombre as editorial,
  count(*) as cantidad
  from editoriales e
  join libros l
  on codigoeditorial=e.codigo
  group by e.nombre;

Las editoriales que no tienen libros no aparecen en la salida porque empleamos un "join".

Empleamos otra función de agrupamiento con "left join". Para conocer el mayor precio de los libros de cada editorial usamos la función "max()", hacemos un "left join" y agrupamos por nombre de la editorial:

 select e.nombre as editorial,
  max(precio) as "mayor precio"
  from editoriales e
  left join libros l
  on codigoeditorial=e.codigo
  group by nombre;

En la sentencia anterior, mostrará, para la editorial de la cual no haya libros, el valor "null" en la columna calculada.


Retornar