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.
Lire les données d'un tableau à l'aide de l'CQLSELECT
instruction dans Amazon Keyspaces
Dans la section Insertion et chargement de données dans un tableau Amazon Keyspaces, vous avez utilisé l'instruction SELECT
pour vérifier que vous avez correctement ajouté des données à votre table. Dans cette section, vous affinez votre utilisation de SELECT
pour afficher des colonnes spécifiques, et uniquement des lignes qui répondent à des critères spécifiques.
La forme générale de l'instruction SELECT
est la suivante.
SELECT column_list
FROM table_name
[WHERE condition
[ALLOW FILTERING]] ;
Rubriques
Sélectionnez toutes les données de votre tableau
La forme la plus simple de l'instruction SELECT
renvoie toutes les données de votre table.
Important
Dans un environnement de production, il n'est généralement pas recommandé d'exécuter cette commande, car elle renvoie toutes les données de votre table.
Pour sélectionner toutes les données de votre table
-
Ouvrir AWS CloudShell et connectez-vous à Amazon Keyspaces à l'aide de la commande suivante. Assurez-vous de mettre à jour
us-east-1
avec votre propre région.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Exécutez la requête suivante :
SELECT * FROM catalog.book_awards ;
Utilisation du caractère générique (
*
) pour quecolumn_list
sélectionne toutes les colonnes. Le résultat de l'instruction ressemble à l'exemple suivant.year | award | category | rank | author | book_title | publisher ------+------------------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher 2020 | Kwesi Manu Prize | Fiction | 1 | Akua Mansa | Where did you go? | SomePublisher 2020 | Kwesi Manu Prize | Fiction | 2 | John Stiles | Yesterday | Example Books 2020 | Kwesi Manu Prize | Fiction | 3 | Nikki Wolf | Moving to the Chateau | AnyPublisher 2020 | Richard Roe | Fiction | 1 | Alejandro Rosalez | Long Summer | SomePublisher 2020 | Richard Roe | Fiction | 2 | Arnav Desai | The Key | Example Books 2020 | Richard Roe | Fiction | 3 | Mateo Jackson | Inside the Whale | AnyPublisher
Sélectionnez un sous-ensemble de colonnes
Pour interroger un sous-ensemble de colonnes
-
Ouvrir AWS CloudShell et connectez-vous à Amazon Keyspaces à l'aide de la commande suivante. Assurez-vous de mettre à jour
us-east-1
avec votre propre région.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Pour récupérer uniquement les colonnes
award
,category
etyear
, exécutez la requête suivante.SELECT award, category, year FROM catalog.book_awards ;
La sortie contient uniquement les colonnes spécifiées dans l'ordre indiqué dans l'
SELECT
instruction.award | category | year ------------------+-------------+------ Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020
Sélectionnez un sous-ensemble de lignes
Lors de l'interrogation d'un jeu de données volumineux, vous ne souhaitez peut-être que les enregistrements répondant à certains critères. Pour ce faire, vous pouvez ajouter une clause WHERE
à la fin de notre instruction SELECT
.
Pour interroger un sous-ensemble de lignes
-
Ouvrir AWS CloudShell et connectez-vous à Amazon Keyspaces à l'aide de la commande suivante. Assurez-vous de mettre à jour
us-east-1
avec votre propre région.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Pour récupérer uniquement les dossiers relatifs aux récompenses d'une année donnée, exécutez la requête suivante.
SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;
L'
SELECT
instruction précédente renvoie le résultat suivant.year | award | category | rank | author | book_title | publisher ------+-------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher
Comprendre la WHERE
clause
La clause WHERE
est utilisée pour filtrer les données et renvoyer uniquement celles qui répondent aux critères spécifiés. Les critères spécifiés peuvent être une condition simple ou une condition composée.
Comment utiliser les conditions dans une clause WHERE
-
Une condition simple : une seule colonne.
WHERE column_name=value
Vous pouvez utiliser une condition simple dans une clause
WHERE
si l'une des conditions suivantes est remplie :-
La colonne est la seule colonne clé de partition de la table.
-
Vous ajoutez
ALLOW FILTERING
après la condition de la clauseWHERE
.Sachez que l'utilisation d'
ALLOW FILTERING
peut entraîner des performances incohérentes, en particulier avec les tables volumineuses et à plusieurs partitions.
-
-
Une condition composée — Plusieurs conditions simples reliées par
AND
.WHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...
Vous pouvez utiliser des conditions composées dans une clause
WHERE
si l'une des conditions suivantes est remplie :-
Les colonnes que vous pouvez utiliser dans la
WHERE
clause doivent inclure la totalité ou un sous-ensemble des colonnes de la clé de partition de la table. Si vous souhaitez utiliser uniquement un sous-ensemble des colonnes de laWHERE
clause, vous devez inclure un ensemble contigu de colonnes de clé de partition de gauche à droite, en commençant par la première colonne de la clé de partition. Par exemple, si les colonnes de clé de partition sontyear
month
,,award
vous pouvez utiliser les colonnes suivantes dans laWHERE
clause :year
year
ANDmonth
year
ANDmonth
ANDaward
-
Vous ajoutez
ALLOW FILTERING
après la condition composée dans la clauseWHERE
, comme dans l'exemple suivant.SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;
Sachez que l'utilisation d'
ALLOW FILTERING
peut entraîner des performances incohérentes, en particulier avec les tables volumineuses et à plusieurs partitions.
-
Essayez-le
Créez vos propres CQL requêtes pour trouver les éléments suivants dans votre book_awards
tableau :
-
Trouvez les gagnants des Wolf Awards 2020 et affichez les titres et les auteurs des livres, classés par rang.
-
Afficher les premiers gagnants de tous les prix en 2020 et afficher les titres des livres et les noms des récompenses.