View a markdown version of this page

SELECT - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

SELECT

Utilisez une instruction SELECT pour interroger les données.

Syntaxe

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 ] )*

Exemples

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

Pour un tableau qui met en correspondance JSON-encoded les types de données avec les types de données Amazon Keyspaces, consultezEncodage JSON des types de données Amazon Keyspaces.

Utilisation du IN mot clé

Le IN mot clé spécifie l'égalité pour une ou plusieurs valeurs. Il peut être appliqué à la clé de partition et à la colonne de clustering. Les résultats sont renvoyés dans l'ordre dans lequel les clés sont présentées dans le SELECT relevé.

Exemples

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;

Pour plus d'informations sur le IN mot clé et la manière dont Amazon Keyspaces traite la déclaration, consultezUtiliser l'opérateur IN avec l'instruction SELECT dans une requête dans Amazon Keyspaces.

Résultats de commande

La ORDER BY clause spécifie l'ordre de tri des résultats renvoyés. Il prend comme arguments une liste de noms de colonnes ainsi que l'ordre de tri de chaque colonne. Vous ne pouvez spécifier des colonnes de clustering que dans les clauses de classement. Non-clusteringles colonnes ne sont pas autorisées. Les options d'ordre de tri concernent l'ordre ASC de tri croissant et l'ordre DESC de tri décroissant. Si l'ordre de tri est omis, l'ordre par défaut de la colonne de clustering est utilisé. Pour les ordres de tri possibles, voirRésultats de commande avec ORDER BY dans Amazon Keyspaces.

Exemple

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

Lorsque vous utilisez ORDER BY le IN mot clé, les résultats sont classés au sein d'une page. La réorganisation complète avec pagination désactivée n'est pas prise en charge.

JETON

Vous pouvez appliquer la TOKEN fonction à la PARTITION KEY colonne dans les WHERE clauses SELECT et. Avec cette TOKEN fonction, Amazon Keyspaces renvoie des lignes en fonction de la valeur du jeton mappé PARTITION_KEY plutôt que de la valeur du. PARTITION KEY

TOKENles relations ne sont pas prises en charge avec le IN mot clé.

Exemples

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

Fonction TTL

Vous pouvez utiliser la TTL fonction associée à l'SELECTinstruction pour récupérer le délai d'expiration en secondes enregistré pour une colonne. Si aucune TTL valeur n'est définie, la fonction renvoienull.

Exemple

SELECT TTL(my_column) from my_table;

La TTL fonction ne peut pas être utilisée sur des colonnes contenant plusieurs cellules, telles que des collections.

WRITETIMEfonction

Vous pouvez utiliser la WRITETIME fonction avec l'SELECTinstruction pour récupérer l'horodatage stocké en tant que métadonnées pour la valeur d'une colonne uniquement si la table utilise des horodatages côté client. Pour de plus amples informations, veuillez consulter Client-side horodatages dans Amazon Keyspaces.

SELECT WRITETIME(my_column) from my_table;

La WRITETIME fonction ne peut pas être utilisée sur des colonnes contenant plusieurs cellules, telles que des collections.

Note

Pour des raisons de compatibilité avec le comportement établi des pilotes Cassandra, les politiques d'autorisation basées sur des balises ne sont pas appliquées lorsque vous effectuez des opérations sur des tables système à l'aide d'appels d'API Cassandra Query Language (CQL) via des pilotes Cassandra et des outils de développement. Pour de plus amples informations, veuillez consulter Accès aux ressources Amazon Keyspaces basé sur des balises.