Tutorial: Leia dados de uma tabela usando a SELECT instrução - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tutorial: Leia dados de uma tabela usando a SELECT instrução

Na seção Tutorial: inserção e carregamento de dados em uma tabela do Amazon Keyspaces, você usou a instrução SELECT para verificar se os dados foram adicionados com sucesso à sua tabela. Nesta seção, você refina o uso de SELECT para exibir colunas específicas e somente linhas que atendam a critérios específicos.

A forma geral da instrução SELECT é a seguinte.

SELECT column_list FROM table_name [WHERE condition [ALLOW FILTERING]] ;

Selecione todos os dados em sua tabela

A forma mais simples da instrução SELECT retorna todos os dados da tabela.

Importante

Em um ambiente de produção, normalmente não é uma prática recomendada executar esse comando, que retorna todos os dados da tabela.

Para selecionar todos os dados da tabela
  1. Abra AWS CloudShell e conecte-se ao Amazon Keyspaces usando o comando a seguir. Certifique-se de atualizar us-east-1 com sua própria região.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Execute a seguinte consulta .

    SELECT * FROM catalog.book_awards ;

    Usar o caractere curinga (*) para o column_list selecionar todas as colunas. A saída da declaração se parece com o exemplo a seguir.

    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

Selecione um subconjunto de colunas

Para consultar um subconjunto de colunas
  1. Abra AWS CloudShell e conecte-se ao Amazon Keyspaces usando o comando a seguir. Certifique-se de atualizar us-east-1 com sua própria região.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Para recuperar apenas as colunas award, category e year, execute a seguinte consulta.

    SELECT award, category, year FROM catalog.book_awards ;

    A saída contém somente as colunas especificadas na ordem listada na SELECT instrução.

    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

Selecione um subconjunto de linhas

Ao consultar um grande conjunto de dados, escolha apenas registros que atendam a determinados critérios. Para fazer isso, você pode acrescentar uma cláusula WHERE ao final da instrução SELECT.

Para consultar um subconjunto de linhas
  1. Abra AWS CloudShell e conecte-se ao Amazon Keyspaces usando o comando a seguir. Certifique-se de atualizar us-east-1 com sua própria região.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Para recuperar somente os registros dos prêmios de um determinado ano, execute a consulta a seguir.

    SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;

    A SELECT declaração anterior retorna a seguinte saída.

    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

Entendendo a cláusula WHERE

A cláusula WHERE é usada para filtrar os dados e retornar somente os dados que atendem aos critérios especificados. Os critérios especificados podem ser uma condição simples ou uma condição composta.

Como usar as condições em uma cláusula WHERE
  • Uma condição simples, uma única coluna.

    WHERE column_name=value

    Você poderá usar uma condição simples em uma cláusula WHERE se uma das seguintes condições for atendida:

    • A coluna é a única coluna na chave primária da tabela.

    • Você adiciona ALLOW FILTERING após a condição na cláusula WHERE.

      Esteja ciente de que usar ALLOW FILTERING pode resultar em desempenho inconsistente, especialmente em tabelas grandes e multiparticionadas.

  • Uma condição composta, várias condições simples conectadas por AND.

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

    É possível usar condições compostas em uma cláusula WHERE se uma das condições a seguir for atendida:

    • As colunas na cláusula WHERE correspondem exatamente às colunas na chave primária da tabela, nem mais nem menos.

    • Você adiciona ALLOW FILTERING após a condição composta na cláusula WHERE, como no exemplo a seguir.

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

      Esteja ciente de que usar ALLOW FILTERING pode resultar em desempenho inconsistente, especialmente em tabelas grandes e multiparticionadas.

Experimente

Crie suas próprias consultas em CQL para encontrar o seguinte em sua tabela book_awards:

  • Encontre os vencedores dos prêmios Wolf 2020 e exiba os títulos e autores dos livros, ordenados por classificação.

  • Mostre os vencedores do primeiro prêmio de todos os prêmios em 2020 e exiba os títulos dos livros e os nomes dos prêmios.