Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Lea los datos de una tabla con la CQL SELECT
declaración de Amazon Keyspaces
En la sección Inserción y carga de datos en una tabla de Amazon Keyspaces, utilizó la instrucción SELECT
para verificar que ha añadido correctamente los datos a su tabla. En esta sección, usted restringe el uso de SELECT
para mostrar columnas específicas y solo las filas que cumplan criterios específicos.
La forma general de la instrucción SELECT
es la siguiente.
SELECT column_list
FROM table_name
[WHERE condition
[ALLOW FILTERING]] ;
Temas
Seleccione todos los datos de la tabla
La forma más sencilla de la instrucción SELECT
devuelve todos los datos de su tabla.
importante
En un entorno de producción, normalmente no es recomendable ejecutar este comando, ya que devuelve todos los datos de la tabla.
Para seleccionar todos los datos de su tabla
-
Abra AWS CloudShell y conéctese a Amazon Keyspaces mediante el siguiente comando. Asegúrese de actualizar
us-east-1
con tu propia región.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Ejecute la siguiente consulta .
SELECT * FROM catalog.book_awards ;
El uso del carácter comodín (
*
) paracolumn_list
selecciona todas las columnas. El resultado de la declaración se parece al siguiente ejemplo.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
Seleccione un subconjunto de columnas
Para consultar un subconjunto de columnas
-
Abra AWS CloudShell y conéctese a Amazon Keyspaces mediante el siguiente comando. Asegúrese de actualizar
us-east-1
con tu propia región.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Para recuperar solo las columnas
award
,category
yyear
, ejecute la siguiente consulta.SELECT award, category, year FROM catalog.book_awards ;
La salida contiene solo las columnas especificadas en el orden indicado en la
SELECT
declaración.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
Seleccione un subconjunto de filas
Al consultar un gran conjunto de datos, es posible que solo desee registros que cumplan determinados criterios. Para ello, puede añadir una cláusula WHERE
al final de nuestra instrucción SELECT
.
Para consultar un subconjunto de filas
-
Abra AWS CloudShell y conéctese a Amazon Keyspaces mediante el siguiente comando. Asegúrese de actualizar
us-east-1
con tu propia región.cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --ssl -
Para recuperar solo los registros de los premios de un año determinado, ejecute la siguiente consulta.
SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;
La
SELECT
instrucción anterior devuelve el siguiente resultado.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
Comprensión de la cláusula WHERE
La cláusula WHERE
se utiliza para filtrar los datos y devolver solo los que cumplan los criterios especificados. Los criterios especificados pueden ser una condición simple o una condición compuesta.
Uso de condiciones en una cláusula WHERE
-
Una condición simple: una única columna.
WHERE column_name=value
Puede utilizar una condición simple en una cláusula
WHERE
si se cumple alguna de las siguientes condiciones:-
La columna es la única columna de clave de partición de la tabla.
-
Añada
ALLOW FILTERING
después de la condición en la cláusulaWHERE
.Tenga en cuenta que el uso de
ALLOW FILTERING
puede dar lugar a un rendimiento incoherente, sobre todo con tablas de gran tamaño y con varias particiones.
-
-
Una condición compuesta: múltiples condiciones simples conectadas por
AND
.WHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...
Puede utilizar condiciones compuestas en una cláusula
WHERE
si se cumple alguna de las siguientes condiciones:-
Las columnas que puede usar en la
WHERE
cláusula deben incluir todas o un subconjunto de las columnas de la clave de partición de la tabla. Si desea utilizar solo un subconjunto de las columnas de laWHERE
cláusula, debe incluir un conjunto contiguo de columnas de clave de partición de izquierda a derecha, empezando por la primera columna de la clave de partición. Por ejemplo, si las columnas de la clave de partición sonyear
month
, y,award
entonces puede usar las siguientes columnas en la cláusula:WHERE
year
year
ANDmonth
year
ANDmonth
ANDaward
-
Añada
ALLOW FILTERING
después de la condición compuesta en la cláusulaWHERE
, como en el siguiente ejemplo.SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;
Tenga en cuenta que el uso de
ALLOW FILTERING
puede dar lugar a un rendimiento incoherente, sobre todo con tablas de gran tamaño y con varias particiones.
-
Pruébelo
Cree sus propias CQL consultas para buscar lo siguiente en la book_awards
tabla:
-
Encuentre los ganadores de los premios Wolf de 2020 y muestre los títulos y autores de los libros, ordenados por rango.
-
Muestra los ganadores de los primeros premios de todos los premios de 2020 y muestra los títulos de los libros y los nombres de los premios.