Aracılığıyla paylaş


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, tablo sol tabloyla aynı sütunlara ve sağ tablodaki sütunlara sahiptir. 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. Gölgelendirmenin rengi döndürülen sütunları, gölgeli alanlar ise döndürülen satırları temsil eder.

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

Sözdizimi

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

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

Parametreler

Ad Tür Zorunlu 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, leftanti, rightantileftsemi, rightsemi. rightouterleftouterinnerinnerunique Varsayılan değer: innerunique. Birleştirme tatları hakkında daha fazla bilgi için bkz . Dönüşler.
Ipuç -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ı Katılma
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ı 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ı 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 Birleştirme aroması sütunundaki bağlantıyı seçin.

Birleştirme aroması Döndürülenler Çizim
innerunique (varsayılan) Sol tarafı 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şim
Ş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
rightouter Sağ dış birleşim
Ş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şim
Şema: Eşleşen anahtarlar da dahil olmak üzere her iki tablodaki tüm sütunlar
Satırlar: Her iki tablodan da eşleşmeyen hücreler null ile doldurulmuş tüm kayıtlar
leftsemi Sol yarı birleştirme
Ş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 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 aroması 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ştirme 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