CQL替换“not in”子查询

时间:2014-03-12 14:29:20

标签: sql oracle cql complex-event-processing

我正在开发使用CQL的OCEP平台。

我正在寻找一种从一个表中选择另一个表中不存在的值的方法。 CQL不允许使用子查询,因此我不能简单地使用“not in(query)”。

寻找替代品:

select * 
from tb1 
where tb1.id not in (select id from tb2)

表1:1,3,4,5,6。 表2:1,4,7,9。

我正在寻找一种方法来获得一个以(3,5,6)为值的表格。

欢迎任何想法:)

1 个答案:

答案 0 :(得分:1)

这也可以使用外部联接来完成:

select one_table.*
from one_table
  left join another on one_table.pk_column = another.fk_column
where another.pk_column is null;

然后您的示例将映射到此查询:

select tb1.*
from tb1 
  left join tb2 on tb1.id = tb2.id
where tb2.id is null;

SQLFiddle示例:http://sqlfiddle.com/#!4/4594f/2