La cláusula JOIN combina filas de varias tablas. SLS admite uniones entre logstores dentro de un mismo proyecto, así como uniones entre un logstore y una base de datos MySQL o un bucket de OSS.
Sintaxis
SELECT table.key
FROM table1
INNER|LEFT|RIGHT|FULL OUTER JOIN table2
ON table1.key=table2.key
SLS admite INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN en instrucciones SELECT, tal como se describe en la referencia de JOIN de MySQL.
|
Sintaxis de JOIN |
Descripción |
|
INNER JOIN |
Devuelve solo las filas que cumplen la condición de unión en ambas tablas. |
|
LEFT JOIN |
Devuelve todas las filas de la tabla izquierda (table1), incluso si no existen filas coincidentes en la tabla derecha (table2). |
|
RIGHT JOIN |
Devuelve todas las filas de la tabla derecha (table2), incluso si no existen filas coincidentes en la tabla izquierda (table1). |
|
FULL JOIN |
Devuelve filas si alguna de las tablas contiene una fila coincidente. |
Parámetros
|
Parámetro |
Descripción |
|
key |
Campo de registro o expresión. Admite cualquier tipo de dato. |
|
table |
table1 es un logstore. table2 puede ser un logstore, una base de datos MySQL o un bucket de OSS. Associate Simple Log Service with a MySQL database. Associate Simple Log Service with an OSS bucket. |
Ejemplos
A continuación se presentan ejemplos que unen dos logstores del mismo proyecto: internal-diagnostic_log (latencia de consumo, alertas y datos de recolección) e internal-operation_log (registros de operación de los recursos del proyecto). Las consultas obtienen grupos de consumidores, latencia y métodos de solicitud.
Example 1: INNER JOIN
-
Instrucción de consulta
* | SELECT "internal-diagnostic_log".consumer_group, "internal-diagnostic_log".logstore, "internal-operation_log".Latency, "internal-operation_log".Method FROM "internal-diagnostic_log" INNER JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore LIMIT 10000 -
Resultados
Devuelve 1,328 filas coincidentes.
El resultado incluye cuatro columnas: consumer_group, logstore, Latency y Method. Valores de ejemplo: consumer_group
etl-cf43c82162ac3ca60a906ebec4c6b87b, logstorewebsite_log, MethodPullData, Latency 513, 591 y 465.
Example 2: LEFT JOIN
-
Instrucción de consulta
* | SELECT "internal-diagnostic_log".consumer_group, "internal-diagnostic_log".logstore, "internal-operation_log".Latency, "internal-operation_log".Method FROM "internal-diagnostic_log" LEFT JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore LIMIT 10000 -
Resultados
Devuelve las 1,328 filas completas del logstore internal-diagnostic_log.
El resultado incluye cuatro columnas: consumer_group, logstore, Latency y Method. Los valores de Method incluyen ConsumerGroupHeartBeat y PullData.
Example 3: RIGHT JOIN
-
Instrucción de consulta
* | SELECT "internal-diagnostic_log".consumer_group, "internal-diagnostic_log".logstore, "internal-operation_log".Latency, "internal-operation_log".Method FROM "internal-diagnostic_log" RIGHT JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore LIMIT 10000 -
Resultados
Devuelve las 1,757 filas completas del logstore internal-operation_log.
El resultado contiene cuatro columnas:
consumer_group,logstore,LatencyyMethod. Los valores nulos enconsumer_groupylogstoreindican que no hay filas coincidentes en la tabla izquierda.Methodes PostLogStoreLogs y los valores deLatencyvarían.
Example 4: FULL OUTER JOIN
-
Instrucción de consulta
* | SELECT "internal-diagnostic_log".consumer_group, "internal-diagnostic_log".logstore, "internal-operation_log".Latency, "internal-operation_log".Method FROM "internal-diagnostic_log" FULL OUTER JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore LIMIT 10000 -
Resultados
Devuelve 1,757 filas.
El resultado contiene cuatro columnas: consumer_group, logstore, Latency y Method. Incluye tanto filas coincidentes como filas con valores nulos en consumer_group y logstore. Las filas sin coincidencia muestran Method como PostLogStoreLogs.