You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在KQL中实现SQL FULL OUTER JOIN的不相交记录查询?

KQL实现两个数据集不相交记录的方案

你的思路完全正确,通过leftanti join与rightanti join的结果做union,就是KQL中实现该需求的标准最佳方式。

具体代码示例

假设两个数据集为TableA和TableB,关联键是Id:

// 获取TableA中不在TableB里的记录
let A_only = TableA | join kind=leftanti (TableB) on Id;
// 获取TableB中不在TableA里的记录
let B_only = TableA | join kind=rightanti (TableB) on Id;
// 合并两个结果集,得到所有不相交的记录
A_only | union B_only

关键逻辑说明

  • leftanti join:返回左表中未在右表找到匹配关联键的所有记录,等价于SQL中的NOT EXISTS或NOT IN逻辑;
  • rightanti join:返回右表中未在左表找到匹配关联键的所有记录,效果等同于交换左右表后执行leftanti join;
  • union操作会自动对齐两个结果集的列,缺失的列将填充null,与SQL中FULL OUTER JOIN取不相交部分的行为一致。

内容的提问来源于stack exchange,提问作者LJsec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:37:40