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

LeftTable | join [JoinParameters] ( RightTable ) en 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 combinación se considera la tabla Izquierda. La tabla especificada después de la palabra clave join es la tabla derecha. Las columnas de las tablas están designadas, $left.Column y $right.Column para distinguir a qué columnas de las tablas se 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 conservarán si hay o no un registro coincidente en el otro conjunto de datos. La combinación interna solo mostrará 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.

Diagrama de tipos de combinación de ejemplo, en el que se muestra dónde funcionan las combinaciones.

Únete a Flavor Registros de salida
kind=leftanti, kind=leftantisemi Devuelve todos los registros del lado izquierdo que no tienen coincidencias del lado derecho.
kind=rightanti, kind=rightantisemi Devuelve todos los registros del lado derecho que no tienen coincidencias desde la izquierda.
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 desde la derecha.
kind=rightsemi Devuelve todos los registros del lado derecho que tienen coincidencias de la izquierda.
kind=inner Contiene una fila en la salida para cada combinación de filas coincidentes de izquierda y 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 no coincidentes contienen valores NULL.