是否有可能在卡桑德拉where子句后同时使用多个条件联合编辑在Select语句,如在任何RDBMS的。 这里是我的代码:
SELECT * from TABLE_NAME WHERE COND1= 'something' OR COND2 = 'something';
是否有可能在卡桑德拉where子句后同时使用多个条件联合编辑在Select语句,如在任何RDBMS的。 这里是我的代码:
SELECT * from TABLE_NAME WHERE COND1= 'something' OR COND2 = 'something';
答案很简单:不存在或存在的等价
http://www.datastax.com/docs/0.8/dml/using_cql
下面是V0.8命令参考:
http://www.datastax.com/docs/0.8/references/cql#cql-reference
SELECT [第一n] [反转] FROM [使用] [WHERE] [LIMIT N];
..
WHERE子句提供用于过滤显示在搜索结果中的行。 该条可以过滤上的一个键的名字,或键的范围内,并且在索引列的情况下,在列值。 键过滤器所使用的关键字KEY,关系运算符,指定(=之一,>,> =,<,和<=),和长期价值。 当术语出现在一个关系运算符假定过滤器两侧适用于索引列。 随着列索引过滤器,对操作者的左边项是名字,右边的项是筛选的价值。
假设cond是你的表的主键的名称,你可以这样做:
SELECT * from TABLE_NAME WHERE COND1 in ('something', 'something');
因此,不存在完全通用的OR
操作,但是看起来这可能相当于什么你要怎样做。
请记住,当你使用CQL,该查询计划并不意味着是其优势之一。 卡桑德拉代码通常让你有大量的数据的假设,所以会尽量避免这样做,可能最终会被昂贵的任何疑问。 在RMDBS的世界里,您可以根据内在关系(第三范式等),组织你的数据,而在卡桑德拉,您可以根据预计需要查询您的结构化数据。 非规范化的(原谅双关语)的规范。
关键是,CQL旨在制造卡桑德拉查询比老旧货RPC接口更加熟悉,亲切的语法。 它并非是完全的表现和灵活的是SQL是这样的。
这里是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操作。