join işleci
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini✅ Azure İzleyici✅Microsoft Sentinel
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.
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 $left belirtilir. |
JoinFlavor | string |
Gerçekleştirilecek birleştirme türü: , , , , , fullouter , leftanti , rightanti leftsemi , rightsemi . rightouter leftouter inner innerunique 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 $right belirtilir. |
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 |
|
iç | 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