View a markdown version of this page

Leggi i dati da una tabella utilizzando l'istruzione CQL SELECT in Amazon Keyspaces - Amazon Keyspaces (per Apache Cassandra)

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'istruzione CQL SELECT 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'utilizzo di 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]] ;

Seleziona tutti i dati nella 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
  1. Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di effettuare l'aggiornamento us-east-1 con la tua regione.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Esegui la seguente query.

    SELECT * FROM catalog.book_awards ;

    Usando il carattere jolly (*) per column_list selezionare 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 ricerca per un sottoinsieme di colonne
  1. Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di effettuare l'aggiornamento us-east-1 con la tua regione.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Per recuperare solo le year colonneaward, 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 siano necessari solo record che soddisfino determinati criteri. Per fare ciò, puoi aggiungere una WHERE clausola alla fine della nostra dichiarazione. SELECT

Per richiedere un sottoinsieme di righe
  1. Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di effettuare l'aggiornamento us-east-1 con la tua regione.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. 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 il seguente risultato.

    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 clausola WHERE
  • Una condizione semplice: una singola colonna.

    WHERE column_name=value

    È possibile utilizzare una condizione semplice in una WHERE clausola se viene soddisfatta una delle seguenti condizioni:

    • La colonna è l'unica colonna chiave di partizione della tabella.

    • Si aggiunge ALLOW FILTERING dopo la condizione nella WHERE clausola.

      Tieni presente che l'utilizzo ALLOW FILTERING può comportare prestazioni non coerenti, specialmente con tabelle di grandi dimensioni e con più partizioni.

  • Una condizione composta: più condizioni semplici collegate da. AND

    WHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...

    È possibile utilizzare condizioni composte in una WHERE clausola se viene soddisfatta una delle seguenti condizioni:

    • Le colonne che è possibile utilizzare nella WHERE clausola devono includere tutte o un sottoinsieme delle colonne nella chiave di partizione della tabella. Se si desidera utilizzare solo un sottoinsieme delle colonne della WHERE clausola, è necessario includere un set contiguo di colonne chiave di partizione da sinistra a destra, iniziando dalla colonna principale della chiave di partizione. Ad esempio, se le colonne della chiave di partizione sono yearmonth, award puoi utilizzare le seguenti colonne nella clausola: WHERE

      • year

      • yearE month

      • yearE month E award

    • Si aggiunge ALLOW FILTERING dopo la condizione composta nella WHERE clausola, come nell'esempio seguente.

      SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;

      Tieni presente che l'utilizzo ALLOW FILTERING può comportare prestazioni non coerenti, specialmente con tabelle di grandi dimensioni e con più partizionamenti.

Provalo

Crea le tue query CQL per trovare quanto segue nella tua book_awards tabella:

  • Trova i vincitori dei premi Wolf 2020 e visualizza i titoli e gli autori dei libri, ordinati per classifica.

  • Mostra i vincitori del primo premio di tutti i premi del 2020 e visualizza i titoli dei libri e i nomi dei premi.