Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Leggi i dati da una tabella utilizzando l'SELECTistruzione CQL in Amazon Keyspaces
Nella Inserimento e caricamento di dati in una tabella Amazon Keyspaces sezione, hai utilizzato l'SELECTistruzione per verificare di aver aggiunto correttamente i dati alla tabella. In questa sezione, si perfeziona l'uso SELECT per visualizzare colonne specifiche e solo le righe che soddisfano criteri specifici.
La forma generale della SELECT dichiarazione è la seguente.
SELECT column_list FROM table_name [WHERE condition [ALLOW FILTERING]] ;Argomenti
Seleziona tutti i dati nella tua tabella
La forma più semplice dell'SELECTistruzione restituisce tutti i dati della tabella.
Importante
In un ambiente di produzione, in genere non è consigliabile eseguire questo comando, poiché restituisce tutti i dati della tabella.
Per selezionare tutti i dati della tabella
-
Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di eseguire l'aggiornamento
us-east-1con la tua regione.cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl -
Esegui la seguente query.
SELECT * FROM catalog.book_awards ;Usa il carattere jolly (
*) percolumn_listselezionare tutte le colonne. L'output dell'istruzione è simile all'esempio seguente.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
Seleziona un sottoinsieme di colonne
Per eseguire una query per un sottoinsieme di colonne
-
Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di eseguire l'aggiornamento
us-east-1con la tua regione.cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl -
Per recuperare solo le
yearcolonneaward, ecategory, esegui la seguente query.SELECT award, category, year FROM catalog.book_awards ;L'output contiene solo le colonne specificate nell'ordine elencato nell'
SELECTistruzione.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
Seleziona un sottoinsieme di righe
Quando si esegue una query su un set di dati di grandi dimensioni, è possibile che si desiderino solo record che soddisfino determinati criteri. A tale scopo, puoi aggiungere una WHERE clausola alla fine della nostra dichiarazione. SELECT
Per eseguire una ricerca su un sottoinsieme di righe
-
Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di eseguire l'aggiornamento
us-east-1con la tua regione.cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl -
Per recuperare solo i record relativi ai premi di un determinato anno, esegui la seguente query.
SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;L'
SELECTistruzione precedente restituisce l'output seguente.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
Comprensione della clausola WHERE
La WHERE clausola viene utilizzata per filtrare i dati e restituire solo i dati che soddisfano i criteri specificati. I criteri specificati possono essere una condizione semplice o una condizione composta.
Come utilizzare le condizioni in una WHERE clausola
-
Una condizione semplice: una singola colonna.
WHERE column_name=valueÈ possibile utilizzare una condizione semplice in una
WHEREclausola se viene soddisfatta una delle seguenti condizioni:-
La colonna è l'unica colonna chiave di partizione della tabella.
-
Si aggiunge
ALLOW FILTERINGdopo la condizione nellaWHEREclausola.Tieni presente che l'utilizzo
ALLOW FILTERINGpuò comportare prestazioni incoerenti, specialmente con tabelle di grandi dimensioni e multipartizionate.
-
-
Una condizione composta: più condizioni semplici collegate da.
ANDWHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...È possibile utilizzare condizioni composte in una
WHEREclausola se viene soddisfatta una delle seguenti condizioni:-
Le colonne che è possibile utilizzare nella
WHEREclausola devono includere tutte o un sottoinsieme delle colonne nella chiave di partizione della tabella. Se si desidera utilizzare solo un sottoinsieme delle colonne dellaWHEREclausola, è necessario includere un insieme contiguo di colonne chiave di partizione da sinistra a destra, a partire dalla colonna principale della chiave di partizione. Ad esempio, se le colonne della chiave di partizione sonoyearmonth, eawardallora è possibile utilizzare le seguenti colonne nella clausola:WHEREyearyearEmonthyearEmonthEaward
-
Si aggiunge
ALLOW FILTERINGdopo la condizione composta nellaWHEREclausola, come nell'esempio seguente.SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;Tieni presente che l'utilizzo
ALLOW FILTERINGpuò comportare prestazioni incoerenti, specialmente con tabelle di grandi dimensioni e multipartizionate.
-
Provalo
Crea le tue query CQL per trovare quanto segue dalla tua book_awards tabella:
-
Trova i vincitori dei premi Wolf 2020 e mostra i titoli e gli autori dei libri, ordinati per classifica.
-
Mostra i vincitori del primo premio di tutti i premi del 2020 e mostra i titoli dei libri e i nomi dei premi.