选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

SELECT

聚焦模式
SELECT - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 SELECT 语句可查询数据。

语法

select_statement ::= SELECT [ JSON ] ( select_clause | '*' ) FROM table_name [ WHERE 'where_clause' ] [ ORDER BY 'ordering_clause' ] [ LIMIT (integer | bind_marker) ] [ ALLOW FILTERING ] select_clause ::= selector [ AS identifier ] ( ',' selector [ AS identifier ] ) selector ::= column_name | term | CAST '(' selector AS cql_type ')' | function_name '(' [ selector ( ',' selector )* ] ')' where_clause ::= relation ( AND relation )* relation ::= column_name operator term TOKEN operator ::= '=' | '<' | '>' | '<=' | '>=' | IN | CONTAINS | CONTAINS KEY ordering_clause ::= column_name [ ASC | DESC ] ( ',' column_name [ ASC | DESC ] )*

示例

SELECT name, id, manager_id FROM "myGSGKeyspace".employees_tbl ; SELECT JSON name, id, manager_id FROM "myGSGKeyspace".employees_tbl ;

有关将 JSON 编码的数据类型映射到 Amazon Keyspaces 数据类型的表,请参阅 Amazon Keyspaces 数据类型的 JSON 编码

使用 IN 关键字

IN 关键字指定一个或多个值的相等性。它可以应用于分区键和聚类列。结果按照键在 SELECT 语句中的显示顺序返回。

示例

SELECT * from mykeyspace.mytable WHERE primary.key1 IN (1,2) and clustering.key1 = 2; SELECT * from mykeyspace.mytable WHERE primary.key1 IN (1,2) and clustering.key1 <= 2; SELECT * from mykeyspace.mytable WHERE primary.key1 = 1 and clustering.key1 IN (1, 2); SELECT * from mykeyspace.mytable WHERE primary.key1 <= 2 and clustering.key1 IN (1, 2) ALLOW FILTERING;

有关 IN 关键字以及 Amazon Keyspaces 如何处理该语句的更多信息,请参阅在 Amazon Keyspaces 的查询中将 IN 运算符与 SELECT 语句配合使用

对结果排序

ORDER BY 子句指定返回结果的排序顺序。它采用列名称列表以及每列的排序顺序作为参数。您只能在排序子句中指定聚类列。不允许指定非聚类列。排序顺序选项是 ASC(用于升序排序顺序)和 DESC(用于降序排序顺序)。如果排序顺序被忽略,则使用聚类列的默认排序方式。有关可能的排序顺序,请参阅在 Amazon Keyspaces 中使用 ORDER BY 对结果排序

示例

SELECT name, id, division, manager_id FROM "myGSGKeyspace".employees_tbl WHERE id = '012-34-5678' ORDER BY division;

ORDER BYIN 关键字一起使用时,结果在一个页面内排序。不支持在禁用分页的情况下进行完全重新排序。

TOKEN

您可以将 TOKEN 函数应用于 SELECTWHERE 子句中的 PARTITION KEY 列。使用 TOKEN 函数时,Amazon Keyspaces 会根据 PARTITION_KEY 的映射令牌值(而不是 PARTITION KEY 的值)返回行。

IN 关键字不支持 TOKEN 关系。

示例

SELECT TOKEN(id) from my_table; SELECT TOKEN(id) from my_table WHERE TOKEN(id) > 100 and TOKEN(id) < 10000;

TTL 函数

可以将 TTL 函数与 SELECT 语句一起使用,检索为列存储的到期时间(以秒为单位)。如果未设置 TTL 值,该函数将返回 null

示例

SELECT TTL(my_column) from my_table;

TTL 函数不能用于多单元格列,例如集合。

WRITETIME 函数

仅当表使用了客户端时间戳时,您才能将 WRITETIME 函数与 SELECT 语句一起使用来检索存储为列值的元数据的时间戳。有关更多信息,请参阅 Amazon Keyspaces 中的客户端时间戳

SELECT WRITETIME(my_column) from my_table;

WRITETIME 函数不能用于多单元格列,例如集合。

注意

为了与既定的 Cassandra 驱动程序行为兼容,当您通过 Cassandra 驱动程序和开发人员工具使用 Cassandra 查询语言 (CQL) API 调用对系统表执行操作时,系统不会强制实施基于标签的授权策略。有关更多信息,请参阅 基于标签的 Amazon Keyspaces 资源访问

下一主题:

INSERT

上一主题:

DML 语句
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。