Uniendo resultados

Union

Combina los resultados de dos consultas donde las filas duplicadas que aparecen se reducen a una fila única. Esto nos sirve para obtener una lista de clientes independientemente de donde esten dado de alta. Para ello sumaremos el contenido de dos consultas.

Sintaxis:

  • consulta1.- Consulta en SQL una o varias tablas. Debe contener las mismas columnas que el resto.
  • union / union all
    • union.- Suma el resultado de las consultas aplicando un distinct, es decir, omite los elementos repetidos.
    • union all.- Suma los resultados sin omitir los repetidos.
  • consulta2, consultan.- Consulta en SQL una o varias tablas. Debe contener las mismas columnas que el resto.

Ejemplo:

Para este ejemplo crearemos una tabla llamada CLIENTES_WEB e introduciremos nuevos registros.

Obtener una lista de todos los clientes:

En este resultado vemos que los socios 1000 y 1001 aparecen dos veces debido a que ambos están dados de alta tanto en CLIENTES como en CLIENTES_WEB.

En cambio si utilizamos la sentencia union solamente aparecerán una vez ya que ésta sentencia se encarga de eliminar los duplicados en los resultados.

Except

Obtiene una tabla resultante en combinación con las otras dos tablas resultantes. Si especificamos except all, el resultado sería el de todas las filas que no contengan registros repetidos.

Sintaxis:

Donde:

  • consulta1.- Consulta en SQL una o varias tablas. Debe contener las mismas columnas que el resto.
  • except.- resta los resultados repetidos.
  • consulta2, consultan.- Consulta en SQL una o varias tablas. Debe contener las mismas columnas que el resto.

Ejemplo:

 

Anuncios