join işleci

Her tabloda belirtilen sütunların değerlerini eşleştirerek yeni bir tablo oluşturmak için iki tablonun satırlarını birleştirin.

Kusto Sorgu Dili (KQL), sonuçta elde edilen tablodaki şemayı ve satırları farklı şekillerde etkileyen birçok birleşim türü sunar. Örneğin, birleştirme inner kullanırsanız, tabloda sol tabloyla aynı sütunlar ve sağ tablodaki sütunlar bulunur. En iyi performans için, bir tablo her zaman diğerinden küçükse, bunu işlecin sol tarafı join olarak kullanın.

Aşağıdaki görüntü, her birleştirme tarafından gerçekleştirilen işlemin görsel bir gösterimini sağlar.

Sorgu birleştirme türlerini gösteren diyagram.

Syntax

LeftTable|join [ kind=JoinFlavor ] [ İpuçları ] (RightTable)onKoşulları

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
LeftTable string ✔️ Satırları birleştirilecek olan dış tablo olarak da adlandırılan sol tablo veya tablosal ifade. olarak $leftbelirtilir.
JoinFlavor string Gerçekleştirilecek birleştirme türü: , , , , , fullouter, leftantirightanti, leftsemi, rightsemi. rightouterleftouterinnerinnerunique Varsayılan değer: innerunique. Birleştirme tatları hakkında daha fazla bilgi için bkz . Dönüşler.
İpuçları string Satır eşleştirme işleminin ve yürütme planının davranışını denetleen Ad=Değeri biçiminde sıfır veya daha fazla boşlukla ayrılmış birleştirme ipucu. Daha fazla bilgi için bkz. İpuçları.
RightTable string ✔️ Satırlarının birleştirileceği iç tablo olarak da adlandırılan sağ tablo veya tablosal ifade. olarak $rightbelirtilir.
Koşullar string ✔️ LeftTable'dan gelen satırların RightTable'dan gelen satırlarla nasıl eşleşeceğini belirler. Eşleştirmek istediğiniz sütunların adı her iki tabloda da aynıysa ColumnName söz dizimini ON kullanın. Aksi takdirde, LeftColumn RightColumn==$right. söz dizimini ON $left. kullanın. Birden çok koşul belirtmek için "ve" anahtar sözcüğünü kullanabilir veya bunları virgülle ayırabilirsiniz. Virgül kullanırsanız, koşullar "ve" mantıksal işleci kullanılarak değerlendirilir.

İpucu

En iyi performans için, bir tablo her zaman diğerinden küçükse birleştirmenin sol tarafı olarak kullanın.

İpuçları

İpucu tuşu Değerler Açıklama
hint.remote auto, left, local, right Bkz. Kümeler Arası Birleştirme
hint.strategy=broadcast Küme düğümlerinde sorgu yükünü paylaşmanın yolunu belirtir. Bkz. yayına katılma
hint.shufflekey=<key> Sorgu, shufflekey verileri bölümleme anahtarını kullanarak küme düğümlerinde sorgu yükünü paylaşır. Bkz . karıştırma sorgusu
hint.strategy=shuffle Strateji shuffle sorgusu, her düğümün verilerin bir bölümünü işlediği küme düğümlerinde sorgu yükünü paylaşır. Bkz . karıştırma sorgusu
Name Değerler Açıklama
hint.remote auto, left, local, right
hint.strategy=broadcast Küme düğümlerinde sorgu yükünü paylaşmanın yolunu belirtir. Bkz. yayına katılma
hint.shufflekey=<key> Sorgu, shufflekey verileri bölümleme anahtarını kullanarak küme düğümlerinde sorgu yükünü paylaşır. Bkz . karıştırma sorgusu
hint.strategy=shuffle Strateji shuffle sorgusu, her düğümün verilerin bir bölümünü işlediği küme düğümlerinde sorgu yükünü paylaşır. Bkz . karıştırma sorgusu

Not

Birleştirme ipuçları semantiğini join değiştirmez ancak performansı etkileyebilir.

Döndürülenler

Dönüş şeması ve satırları birleştirme çeşidine bağlıdır. Birleştirme aroması kind anahtar sözcüğüyle belirtilir. Aşağıdaki tabloda desteklenen birleştirme tatları gösterilmektedir. Belirli bir birleşim çeşidine ilişkin örnekleri görmek için Join flavor sütunundaki bağlantıyı seçin.

Birleştirme lezzeti Döndürülenler Illüstrasyon
innerunique (varsayılan) Sol taraftaki yinelenenleri kaldırma ile iç birleşim
Şema: Eşleşen anahtarlar da dahil olmak üzere her iki tablodaki tüm sütunlar
Satırlar: Sol tablodaki sağ tablodaki satırlarla eşleşen yinelenenleri kaldırılmış tüm satırlar
Standart iç birleşim
Şema: Eşleşen anahtarlar da dahil olmak üzere her iki tablodaki tüm sütunlar
Satırlar: Yalnızca her iki tablodan eşleşen satırlar
leftouter Sol dış birleştirme
Şema: Eşleşen anahtarlar da dahil olmak üzere her iki tablodaki tüm sütunlar
Satırlar: Sol tablodaki tüm kayıtlar ve yalnızca sağ tablodan eşleşen satırlar
sağdan Sağ dış birleştirme
Şema: Eşleşen anahtarlar da dahil olmak üzere her iki tablodaki tüm sütunlar
Satırlar: Sağ tablodaki tüm kayıtlar ve yalnızca sol tablodan eşleşen satırlar
fullouter Tam dış birleştirme
Şema: Eşleşen anahtarlar da dahil olmak üzere her iki tablodaki tüm sütunlar
Satırlar: Her iki tablodaki eşleşmeyen hücreler null ile doldurulmuş tüm kayıtlar
leftsemi Sol yarı birleşim
Şema: Sol tablodaki tüm sütunlar
Satırlar: Sol tablodaki ve sağ tablodaki kayıtlarla eşleşen tüm kayıtlar
leftanti, anti, leftantisemi Sol anti join ve yarı değişken
Şema: Sol tablodaki tüm sütunlar
Satırlar: Sol tablodaki ve sağ tablodaki kayıtlarla eşleşmeyen tüm kayıtlar
rightsemi Sağ yarı birleştirme
Şema: Sağ tablodaki tüm sütunlar
Satırlar: Sağ tablodaki sol tablodaki kayıtlarla eşleşen tüm kayıtlar
rightanti, rightantisemi Sağ anti join ve yarı değişken
Şema: Sağ tablodaki tüm sütunlar
Satırlar: Sağ tablodaki, sol tablodaki kayıtlarla eşleşmeyen tüm kayıtlar

Çapraz birleşim

KQL çapraz birleşim özelliği sağlamaz. Ancak yer tutucu anahtar yaklaşımını kullanarak çapraz birleştirme efekti elde edebilirsiniz.

Aşağıdaki örnekte, her iki tabloya da bir yer tutucu anahtar eklenir ve ardından iç birleşim işlemi için kullanılır ve çapraz birleşim benzeri bir davranış elde edilir:

X | extend placeholder=1 | join kind=inner (Y | extend placeholder=1) on placeholder