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.
Tutorial: Lea los datos de una tabla utilizando la declaración SELECT
En la sección Tutorial: 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, no suele ser una práctica recomendada ejecutar este comando, dado que devuelve todos los datos de su tabla.
Para seleccionar todos los datos de su tabla
-
Abre Amazon Keyspaces AWS CloudShell y conéctate a ellos mediante el siguiente comando. Asegúrate 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
-
Abre Amazon Keyspaces AWS CloudShell y conéctate a ellos mediante el siguiente comando. Asegúrate 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 ;
El resultado 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
-
Abre Amazon Keyspaces AWS CloudShell y conéctate a ellos mediante el siguiente comando. Asegúrate 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, ejecuta 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 la clave principal 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 de la cláusula
WHERE
coinciden exactamente con las columnas de la clave principal de la tabla, ni más ni menos. -
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 consultas CQL para obtener los siguientes resultados de su tabla book_awards
:
-
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.