

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
<a name="cql.dml.select"></a>

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 fait correspondre les types de données codés en JSON aux types de données Amazon Keyspaces, consultez. [Encodage JSON des types de données Amazon Keyspaces](cql.elements.md#cql.data-types.JSON)

**Utilisation du `IN` mot clé**

Le `IN` mot clé indique 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 sur la manière dont Amazon Keyspaces traite l'instruction, consultez. [Utiliser l'`IN`opérateur avec l'`SELECT`instruction dans une requête dans Amazon Keyspaces](in.select.md)

**Résultats de commande**

La `ORDER BY` clause indique 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 pouvez uniquement spécifier des colonnes de clustering dans les clauses de commande. Les colonnes non groupées ne sont pas autorisées. Les options d'ordre de tri concernent `ASC` l'ordre de tri croissant et `DESC` 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, voir[Résultats des commandes avec `ORDER BY` Amazon Keyspaces](ordering-results.md).

**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 dans 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 `SELECT` et `WHERE` aux clauses. 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`

`TOKEN`les 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 avec l'`SELECT`instruction 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 revient`null`.

**Exemple**

```
SELECT TTL(my_column) from my_table;
```

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

**WRITETIMEfonction**

Vous pouvez utiliser la `WRITETIME` fonction avec l'`SELECT`instruction pour récupérer l'horodatage stocké sous forme de 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 [Horodatages côté client dans Amazon Keyspaces](client-side-timestamps.md). 

```
SELECT WRITETIME(my_column) from my_table;
```

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

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