首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >select语句Cassandra中where子句之后的OR条件的替代

select语句Cassandra中where子句之后的OR条件的替代
EN

Stack Overflow用户
提问于 2012-04-13 18:46:43
回答 2查看 20.4K关注 0票数 7

在Cassandra中,可以像在任何RDBMS中一样,在select语句中的where子句之后使用多个联合在一起的条件吗?下面是我的代码:

SELECT * from TABLE_NAME WHERE COND1= 'something' OR COND2 = 'something';  
EN

回答 2

Stack Overflow用户

发布于 2012-04-27 03:55:07

假设COND是表的主键的名称,您可以这样做:

SELECT * from TABLE_NAME WHERE COND1 in ('something', 'something');

因此,没有完全通用的OR操作,但看起来这可能等同于您正在尝试做的事情。

请记住,在使用CQL时,查询规划并不是它的强项之一。Cassandra代码通常会假设您有大量的数据,因此它会尽量避免执行任何可能会导致代价高昂的查询。在RMDBS世界中,您可以根据内在关系(第三范式等)来组织数据,而在Cassandra中,您可以根据预期需要的查询来组织数据。非正规化(请原谅双关语)是常态。

重点是,CQL旨在成为一种比旧的Thrift RPC接口更熟悉、更友好的Cassandra查询语法。它并不打算像SQL那样完全具有表现力和灵活性。

票数 14
EN

Stack Overflow用户

发布于 2018-06-07 04:45:46

下面是CQL v3的语法:

SELECT * | select_expression | DISTINCT partition 
FROM [keyspace_name.] table_name 
[WHERE partition_value
   [AND clustering_filters 
   [AND static_filters]]] 
[ORDER BY PK_column_name ASC|DESC] 
[LIMIT N]
[ALLOW FILTERING]

那么你就不能像SQL一样使用OR操作。

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

https://stackoverflow.com/questions/10139390

复制
相关文章

相似问题

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