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]] ;
Tópicos
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
-
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 -
Execute a seguinte consulta .
SELECT * FROM catalog.book_awards ;
Usar o caractere curinga (
*
) para ocolumn_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
-
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 -
Para recuperar apenas as colunas
award
,category
eyear
, 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
-
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 -
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áusulaWHERE
.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áusulaWHERE
, 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.