Megosztás a következőn keresztül:


csatlakozó operátor

Szolgáltatások váltása a Verzió legördülő listával. További információ a navigációról.
A következőkre vonatkozik: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Két tábla sorainak egyesítése új táblázat létrehozásához az egyes táblák megadott oszlopainak megfelelő értékekkel.

A Kusto Query Language (KQL) számos olyan illesztéstípust kínál, amelyek mindegyike különböző módon befolyásolja az eredményül kapott tábla sémáját és sorait. Ha például illesztéseket inner használ, a táblázat oszlopai megegyeznek a bal oldali táblával, valamint a jobb oldali táblázat oszlopai. A legjobb teljesítmény érdekében, ha az egyik tábla mindig kisebb, mint a másik, használja az operátor bal oldalán join .

Az alábbi kép vizuálisan ábrázolja az egyes illesztés által végrehajtott műveletet. Az árnyékolás színe a visszaadott oszlopokat, az árnyékolt területek pedig a visszaadott sorokat jelölik.

A lekérdezések illesztéstípusát bemutató diagram.

Szemantika

Bal oldali tábla|join [ kind=JoinFlavor ] [ Tippek ] (RightTable)onFeltételek

További információ szintaxiskonvenciákról.

Paraméterek

Név Típus Kötelező Description
Bal oldali tábla string ✔️ A bal oldali táblázat vagy táblázatos kifejezés, más néven külső tábla, amelynek sorait egyesíteni kell. Jelölése: $left.
JoinFlavor string A végrehajtandó illesztés típusa: innerunique, inner, leftouter, rightouter, fullouterleftanti, rightanti, , leftsemi. rightsemi Az alapértelmezett érték a innerunique. Az illesztés ízeiről további információt a Visszatérések című témakörben talál.
Tippeket string Nulla vagy több térelválasztó illesztési tipp névérték= formájában, amely szabályozza a soregyeztetési művelet és a végrehajtási terv viselkedését. További információ: Tippek.
RightTable string ✔️ A jobb oldali táblázat vagy táblázatos kifejezés, más néven belső táblázat, amelynek sorait egyesíteni kell. Jelölése: $right.
Feltételek string ✔️ Meghatározza, hogy a LeftTable sorai hogyan egyeznek a RightTable soraival. Ha az egyeztetni kívánt oszlopok neve mindkét táblában ugyanazzal a névvel rendelkezik, használja a ON. Ellenkező esetben használja a ON $left.RightColumn==$right. szintaxist. Több feltétel megadásához használhatja az "and" kulcsszót, vagy vesszővel elválaszthatja őket. Ha vesszőt használ, a feltételek kiértékelése az "és" logikai operátor használatával történik.

Jótanács

A legjobb teljesítmény érdekében, ha az egyik tábla mindig kisebb, mint a másik, használja az illesztés bal oldalán.

Hints

Tippkulcs Értékek Description
hint.remote auto, left, localright Fürtközi csatlakozás megtekintése
hint.strategy=broadcast Megadja, hogyan oszthatja meg a lekérdezési terhelést a fürtcsomópontokon. A közvetítési csatlakozás megtekintése
hint.shufflekey=<key> A shufflekey lekérdezés megosztja a fürtcsomópontok lekérdezési terhelését egy kulcs használatával az adatok particionálásához. Shuffle-lekérdezés megtekintése
hint.strategy=shuffle A shuffle stratégiai lekérdezés megosztja a lekérdezési terhelést a fürtcsomópontokon, ahol minden csomópont feldolgozza az adatok egy partícióját. Shuffle-lekérdezés megtekintése
Név Értékek Description
hint.remote auto, left, localright
hint.strategy=broadcast Megadja, hogyan oszthatja meg a lekérdezési terhelést a fürtcsomópontokon. A közvetítési csatlakozás megtekintése
hint.shufflekey=<key> A shufflekey lekérdezés megosztja a fürtcsomópontok lekérdezési terhelését egy kulcs használatával az adatok particionálásához. Shuffle-lekérdezés megtekintése
hint.strategy=shuffle A shuffle stratégiai lekérdezés megosztja a lekérdezési terhelést a fürtcsomópontokon, ahol minden csomópont feldolgozza az adatok egy partícióját. Shuffle-lekérdezés megtekintése

Megjegyzés:

Az illesztési tippek nem változtatják meg a szemantikai értékeket join , de hatással lehetnek a teljesítményre.

Visszatérítések

A visszatérési séma és a sorok az illesztés ízétől függnek. Az illesztés íze a kedves kulcsszóval van megadva. Az alábbi táblázat a támogatott illesztés ízeket mutatja be. Ha példákat szeretne látni egy adott illesztés ízére, válassza a hivatkozást az Illesztés íze oszlopban.

Íz csatlakoztatása Visszatérítések Illusztráció
innerunique (alapértelmezett) Belső illesztés bal oldali deduplikációval
Séma: Mindkét tábla összes oszlopa, beleértve a megfelelő kulcsokat is
Sorok: A bal oldali táblából származó összes deduplikált sor, amely megfelel a jobb oldali táblázat sorainak
belső Standard belső illesztés
Séma: Mindkét tábla összes oszlopa, beleértve a megfelelő kulcsokat is
Sorok: Csak egyező sorok mindkét táblából
leftouter Bal külső csatlakozás
Séma: Mindkét tábla összes oszlopa, beleértve a megfelelő kulcsokat is
Sorok: A bal oldali tábla összes rekordja, és csak a jobb oldali táblázat egyező sorai
rightouter Jobb külső illesztés
Séma: Mindkét tábla összes oszlopa, beleértve a megfelelő kulcsokat is
Sorok: A jobb oldali táblázat összes rekordja és csak a bal oldali táblázat egyező sorai
fullouter Teljes külső illesztés
Séma: Mindkét tábla összes oszlopa, beleértve a megfelelő kulcsokat is
Sorok: Mindkét tábla összes rekordja null értékkel kitöltött nem egyező cellákkal
leftsemi Bal oldali félillesztés
Séma: A bal oldali táblázat összes oszlopa
Sorok: A bal oldali tábla összes olyan rekordja, amely megfelel a jobb oldali táblázat rekordjainak
leftanti, , antileftantisemi Bal oldali illesztés és félvariáns
Séma: A bal oldali táblázat összes oszlopa
Sorok: A bal oldali tábla összes olyan rekordja, amely nem egyezik a jobb oldali táblázat rekordjaival
rightsemi Jobb oldali félillesztés
Séma: A jobb oldali táblázat összes oszlopa
Sorok: A jobb oldali tábla összes olyan rekordja, amely megfelel a bal oldali tábla rekordjainak
rightanti, rightantisemi Jobb oldali illesztés és félvariáns
Séma: A jobb oldali táblázat összes oszlopa
Sorok: A jobb oldali tábla összes olyan rekordja, amely nem egyezik a bal oldali táblában lévő rekordokkal

Keresztcsatlakozás

A KQL nem biztosít keresztcsatlakozásos ízt. Azonban helyőrzőkulcs-megközelítéssel keresztbe illeszthető effektust érhet el.

Az alábbi példában a rendszer hozzáad egy helyőrző kulcsot mindkét táblához, majd a belső illesztési művelethez használja, így hatékonyan valósítja meg a keresztcsatlakozáshoz hasonló viselkedést:

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