Tutorial: Leggi i dati da una tabella utilizzando l'istruzione SELECT - 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à.

Tutorial: Leggi i dati da una tabella utilizzando l'istruzione SELECT

Nella Tutorial: 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]] ;

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
  1. Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di eseguire 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 ;

    Utilizzando 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 query per un sottoinsieme di colonne
  1. Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di eseguire 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 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
  1. Apri AWS CloudShell e connettiti ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di eseguire 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 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 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 incoerenti, specialmente con tabelle di grandi dimensioni e multipartizionate.

  • 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 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 sono yearmonth, e award allora è possibile utilizzare le seguenti colonne nella clausola: WHERE

      • year

      • year AND month

      • year AND month AND 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 incoerenti, specialmente con tabelle di grandi dimensioni e multipartizionate.

Provalo

Crea le tue CQL query 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.