Uso del operador join

Completado

El operador join combina las filas de dos tablas para formar una nueva tabla haciendo coincidir los valores de las columnas especificadas de cada tabla.

Sintaxis

TablaIzquierda | join [ParámetrosDeJoin] ( TablaDerecha ) on Atributos

SecurityEvent 
| where EventID == "4624" 
| summarize LogOnCount=count() by EventID, Account 
| project LogOnCount, Account 
| join kind = inner (
     SecurityEvent 
     | where EventID == "4634" 
     | summarize LogOffCount=count() by EventID, Account 
     | project LogOffCount, Account 
) on Account

La primera tabla especificada en la instrucción join se considera la tabla izquierda. La tabla especificada después de la palabra clave join es la tabla derecha. Se designan las columnas de las tablas, $left.Column y $right.Column para distinguir las columnas de las tablas a las que hace referencia.

Cuando se combinan tablas, se usan tipos del operador join para determinar el comportamiento de la combinación. Es fundamental comprender el impacto de los registros en los lados izquierdo y derecho según el tipo del operador join. En el gráfico siguiente, se muestran los registros que se mantendrán si hay o no un registro coincidente en el otro conjunto de datos. La combinación interna solo mostrará los registros del lado izquierdo si hay un registro coincidente en el lado derecho. El lado derecho también requerirá un registro en el lado izquierdo.

Diagram of Example join types, showing where how joins work.

Tipo del operador join Registros de salida
kind=leftanti, kind=leftantisemi Devuelve todos los registros del lado izquierdo que no tienen coincidencias en el derecho.
kind=rightanti, kind=rightantisemi Devuelve todos los registros del lado derecho que no tienen coincidencias en el izquierdo.
kind unspecified, kind=innerunique Solo se hace coincidir una fila del lado izquierdo con cada valor de la clave on. La salida contiene una fila por cada coincidencia de esta fila con filas de la derecha.
kind=leftsemi Devuelve todos los registros del lado izquierdo que tienen coincidencias en el derecho.
kind=rightsemi Devuelve todos los registros del lado derecho que tienen coincidencias en el izquierdo.
kind=inner Contiene una fila en la salida por cada combinación de filas coincidentes de la izquierda y la derecha.
kind=leftouter (o kind=rightouter o kind=fullouter) Contiene una fila para cada fila de la izquierda y la derecha, incluso si no tiene ninguna coincidencia. Las celdas de salida sin coincidencias contienen valores NULL.