Join | Qlik Cloud Ayuda
Saltar al contenido principal Saltar al contenido complementario

Join

El prefijo join une la tabla cargada con una tabla existente o con la última tabla de datos creada.

El efecto de un join o unión de datos es ampliar la tabla de destino con un conjunto adicional de campos o atributos, es decir, aquellos elementos que aún no estén presentes en la tabla de destino y que deseamos agregar (unir) a nuestra tabla. Cualquier nombre de campo común entre el conjunto de datos de origen y la tabla de destino se utilizará para determinar cómo asociar los nuevos registros entrantes. Esto se conoce comúnmente como una "unión natural" o "join natural". Una operación de unión o join de Qlik puede dar lugar a que la tabla de destino resultante tenga más o menos registros de los que tenía al principio, según la singularidad de la asociación y el tipo de join empleado.

video thumbnail

Tipos de uniones

Hay cuatro tipos de uniones:

  • Left join

  • Inner join

  • Outer join

  • Right join

Conjuntos de resultados, a modo de ejemplo, de diferentes tipos de operaciones de unión

Conjuntos de resultados, a modo de ejemplo, de diferentes tipos de operaciones de unión, con una representación del antes y después de las tablas de datos que siguen a cada operación.

Left join

Los Left joins son el tipo de unión más común. Por ejemplo, si tiene un conjunto de datos de transacciones y le gustaría combinarlo con un conjunto de datos de referencia, normalmente usaría un Left Join. Primero cargaría la tabla de transacciones, luego cargaría el conjunto de datos de referencia a la vez que lo une mediante un prefijo Left Join en la tabla de transacciones ya cargada. Un Left Join mantendría todas las transacciones tal como están y agregaría los campos de datos de referencia complementarios donde se encuentre un resultado coincidente.

Left join

Diagrama que describe, a grandes rasgos, las combinaciones de datos que se producen durante un left join.

Inner join

Cuando tiene dos conjuntos de datos y solo le interesa ver aquellos resultados en los que exista una asociación coincidente, considere la posibilidad de utilizar un Inner Join. Esto eliminará todos los registros tanto de los datos de origen cargados como de la tabla de destino si no se encuentra ninguna coincidencia. Como resultado, es posible que esto deje la tabla de destino con menos registros de los que tenía antes de realizar la operación join.

Inner join

Diagrama que describe, a grandes rasgos, las combinaciones de datos que se producen durante un inner join.

Outer join (opción predeterminada)

Cuando necesite conservar tanto los registros de destino como todos los registros entrantes, utilice un Outer Join. Cuando no se encuentra ninguna coincidencia, se conservan todos los conjuntos de registros, mientras que los campos del lado opuesto de la combinación permanecerán vacíos (nulos).

Si se omite la palabra clave "type", el tipo de unión predeterminado será un outer join.

Outer join

Diagrama que describe, a grandes rasgos, las combinaciones de datos que se producen durante un outer join.

Right join

Este tipo de unión conserva todos los registros que se van a cargar, al tiempo que reduce los registros de la tabla a la que va dirigida la unión únicamente a aquellos con los que exista una coincidencia de asociación en los registros entrantes. Se trata de un tipo de unión específica que a veces se utiliza como medio para reducir una tabla de registros ya cargada a un subconjunto concreto.

Right join

Diagrama que describe, a grandes rasgos, las combinaciones de datos que se producen durante un right join.

Cross join

Nota informativaSi no hay nombres de campo en común entre el origen y destino de una operación de unión, la unión dará como resultado un producto cartesiano de todas las filas; esto se denomina "unión cruzada" o "cross join".

Conjunto de resultados a modo de ejemplo de una operación "cross join"

Comparación del antes y después de los datos de entrada con el resultado de una operación de cross join (que puede implicar una operación de unión de cualquier tipo).

Sintaxis y argumentos

Sintaxis:  

[inner | outer | left | right ]Join [ (tablename ) ]( loadstatement | selectstatement )

Argumentos
Argumento Descripción
tablename Tabla designada que debe compararse con la tabla cargada.
loadstatement o selectstatement La sentencia LOAD o SELECT para la tabla cargada.

Temas relacionados

Estos temas le ayudarán a trabajar con esta función:

Temas relacionados
Tema Descripción
Combinar tablas con Join y Keep Este tema ofrece una explicación más detallada de los conceptos de “unir o join” y “mantener o conservar” conjuntos de datos.
Keep El prefijo de carga Keep es similar al prefijo Join, pero no combina los conjuntos de datos de origen y de destino. En su lugar, recorta cada conjunto de datos según el tipo de operación adoptada (inner, outer, left o right).

Ejemplos de script de carga - Left join

Un left join conserva todos los registros de la tabla principal (tabla objetivo o de destino) y añade los datos coincidentes de una segunda tabla (tabla de origen). Si no hay ninguna coincidencia en el origen, el registro de la tabla principal sigue apareciendo, pero con campos vacíos de la tabla de origen.

Ejemplos de script de carga - Inner join

Una unión interna inner join mantiene solo los registros que existan en ambas tablas (basándose en los valores de campo coincidentes).

Ejemplos de script de carga - Outer join

Un outer join mantiene todos los registros de ambas tablas. Cuando no hay coincidencia, los campos se dejan en blanco.

Ejemplos de script de carga - Right join

Una unión right join mantiene todos los registros de la tabla de origen y añade información coincidente de la tabla de destino. Si la tabla de destino no tiene ninguna coincidencia, sus campos se ven en blanco.

Resolución de problemas - Cross join

¿Esta página le ha sido útil?

Si encuentra algún problema con esta página o su contenido (errores tipográficos, pasos que faltan o errores técnicos), no dude en ponerse en contacto con nosotros.