CQL选择特定列

chr*_*ina 2 cql cassandra cqlsh

对于以下Cassandra架构:

CREATE TABLE periods (
period_name text,
event_name text,
event_date timestamp,
weak_race text,
strong_race text,
PRIMARY KEY (period_name, event_name, event_date)
);
Run Code Online (Sandbox Code Playgroud)

通常select声明可以是:

SELECT * FROM ruling_stewards
WHERE king = 'Brego'
AND reign_start >= 2450
AND reign_start < 2500 ALLOW FILTERING;
Run Code Online (Sandbox Code Playgroud)

但有没有办法选择特定的列而不给出关系?例如,要显示所有event_nameperiod_name列?(不要显示其他未提及的列).

Aar*_*ron 5

与SQL一样,只显示特定列,您可以在SELECT语句中命名它们:

SELECT event_name, period_name 
FROM ruling_stewards;
Run Code Online (Sandbox Code Playgroud)

无论是否指定WHERE子句都可以.

如需进一步参考,请阅读Cassandra 2.x SELECT文档.