首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在U-SQL中使用Not equal to条件?

如何在U-SQL中使用Not equal to条件?
EN

Stack Overflow用户
提问于 2018-09-02 16:28:01
回答 1查看 279关注 0票数 1

我正在尝试编写一个U-SQL查询来复制与SQL查询相同的逻辑,如下所示。

代码语言:javascript
复制
SELECT * 
FROM tb1 
LEFT JOIN tb2 
ON tb1.id=tb2.id AND tb1.pid!=tb2.pid;

因为U-SQL不支持连接条件(tb1.pid!=tb2.pid)中的Not equal。

有没有办法在USQL中实现这一逻辑?

EN

回答 1

Stack Overflow用户

发布于 2018-09-02 17:00:49

首先,请注意,在JOIN子句中使用除相等之外的任何比较运算符通常会降低查询的性能,我个人认为这是一种糟糕的风格。毕竟,它是一个JOIN子句,而不是WHERE子句,这意味着它应该告诉DBMS应该将哪些行“链接”在一起(而不是告诉哪些行不“链接”)。

即使数据库管理系统允许在JOIN子句中使用所有类型的比较运算符,也是如此。

话虽如此,只需将!=比较移到WHERE子句中(由于上述原因,它无论如何都属于该子句):

代码语言:javascript
复制
SELECT * 
FROM tb1 
LEFT JOIN tb2 
ON tb1.id=tb2.id
WHERE tb1.pid!=tb2.pid;

这将产生与原始查询完全相同的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52135236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档