Klausa JOIN menggabungkan baris dari beberapa tabel. Simple Log Service (SLS) mendukung penggabungan antar-Logstore dalam satu Proyek, serta penggabungan antara Logstore dengan database MySQL atau Bucket OSS.
Sintaks
SELECT table.key
FROM table1
INNER|LEFT|RIGHT|FULL OUTER JOIN table2
ON table1.key=table2.key
SLS mendukung INNER JOIN, LEFT JOIN, RIGHT JOIN, dan FULL JOIN dalam pernyataan SELECT, sebagaimana dijelaskan dalam referensi JOIN MySQL.
|
Sintaks JOIN |
Deskripsi |
|
INNER JOIN |
Hanya mengembalikan baris yang sesuai dengan kondisi join di kedua tabel. |
|
LEFT JOIN |
Mengembalikan semua baris dari tabel kiri (table1), meskipun tidak ada baris yang sesuai di tabel kanan (table2). |
|
RIGHT JOIN |
Mengembalikan semua baris dari tabel kanan (table2), meskipun tidak ada baris yang sesuai di tabel kiri (table1). |
|
FULL JOIN |
Mengembalikan baris jika salah satu tabel berisi baris yang sesuai. |
Parameter
|
Parameter |
Deskripsi |
|
key |
Field log atau ekspresi. Mendukung semua tipe data. |
|
table |
table1 adalah Logstore. table2 dapat berupa Logstore, database MySQL, atau Bucket OSS. Asosiasikan Simple Log Service dengan database MySQL. Asosiasikan Simple Log Service dengan Bucket OSS. |
Contoh
Contoh berikut menggabungkan dua Logstore dalam Proyek yang sama: internal-diagnostic_log (berisi data latensi konsumsi, alert, dan koleksi) dan internal-operation_log (berisi log operasi untuk sumber daya Proyek). Kueri ini mengambil kelompok konsumen, latensi, dan metode permintaan.
Contoh 1: INNER JOIN
-
Pernyataan kueri
* | 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 -
Hasil
Mengembalikan 1.328 baris yang sesuai.
Hasil mencakup empat kolom: consumer_group, logstore, Latency, dan Method. Contoh nilai: consumer_group
etl-cf43c82162ac3ca60a906ebec4c6b87b, logstorewebsite_log, MethodPullData, Latency 513, 591, dan 465.
Contoh 2: LEFT JOIN
-
Pernyataan kueri
* | 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 -
Hasil
Mengembalikan semua 1.328 baris dari Logstore internal-diagnostic_log.
Hasil mencakup empat kolom: consumer_group, logstore, Latency, dan Method. Nilai Method mencakup ConsumerGroupHeartBeat dan PullData.
Contoh 3: RIGHT JOIN
-
Pernyataan kueri
* | 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 -
Hasil
Mengembalikan semua 1.757 baris dari Logstore internal-operation_log.
Hasil berisi empat kolom:
consumer_group,logstore,Latency, danMethod. Nilai null padaconsumer_groupdanlogstoremenunjukkan tidak ada baris yang sesuai di tabel kiri.Methodadalah PostLogStoreLogs, dan nilaiLatencybervariasi.
Contoh 4: FULL OUTER JOIN
-
Pernyataan kueri
* | 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 -
Hasil
Mengembalikan 1.757 baris.
Hasil berisi empat kolom: consumer_group, logstore, Latency, dan Method. Termasuk baris yang sesuai maupun baris dengan nilai consumer_group dan logstore null. Baris yang tidak sesuai menampilkan Method sebagai PostLogStoreLogs.