Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

SELECTcomando en Amazon QLDB - Base de datos Amazon Quantum Ledger (AmazonQLDB)

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.

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.

SELECTcomando en Amazon QLDB

importante

Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre.

En AmazonQLDB, usa el SELECT comando para recuperar datos de una o más tablas. Cada SELECT consulta QLDB se procesa en una transacción y está sujeta a un límite de tiempo de espera de la transacción.

El orden de los resultados no es específico y puede variar para cada consulta SELECT. No debes confiar en el orden de los resultados al ingresar ninguna consulta. QLDB

Para obtener información sobre cómo controlar el acceso para ejecutar este comando PartiQL en tablas específicas, consulte Cómo empezar con el modo de permisos estándar en Amazon QLDB.

aviso

Cuando ejecutas una consulta QLDB sin una búsqueda indexada, se invoca un escaneo completo de la tabla. PartiQL admite este tipo de consultas porque es SQL compatible. Sin embargo, no ejecute escaneos de tablas para casos de uso de producción enQLDB. Los escaneos de tablas pueden provocar problemas de rendimiento en tablas grandes, como conflictos de concurrencia y tiempos de espera de las transacciones.

Para evitar el escaneado de tablas, debe ejecutar las instrucciones con una cláusula de predicado WHERE usando un operador de igualdad en un campo indexado o en un ID de documento, por ejemplo WHERE indexedField = 123 o WHERE indexedField IN (456, 789). Para obtener más información, consulte Optimización del rendimiento de las consultas.

Sintaxis

SELECT [ VALUE ] expression [ AS field_alias ] [, expression, ... ] FROM source [ AS source_alias ] [ AT idx_alias ] [ BY id_alias ] [, source, ... ] [ WHERE condition ]

Parámetros

VALUE

Un calificador para la expresión que hace que la consulta devuelva el valor del tipo de datos sin procesar, en lugar de incluir el valor en una estructura de tupla.

expression

Una proyección formada a partir del comodín * o una lista de proyección de uno o más campos de documentos del conjunto de resultados. Una expresión puede consistir en llamadas a Funciones de PartiQL o campos modificados por Operadores PartiQL.

AS field_alias

(Opcional) Un alias temporal definido por el usuario para el campo que se utiliza en el conjunto de resultados finales. La palabra clave AS es opcional.

Si no se especifica un alias para una expresión que no sea un nombre de campo simple, el conjunto de resultados aplica un nombre predeterminado a ese campo.

FROM source

Un origen que se va a consultar. Los únicos orígenes admitidos actualmente son los nombres de las tablas, las combinaciones internas entre tablas, las consultas SELECT anidadas (sujetas a Limitaciones de consultas anidadas) y las llamadas a las funciones del historial de una tabla.

Debe especificar al menos un origen. Los múltiples orígenes deben ir separados por comas.

AS source_alias

(Opcional) Un alias definido por el usuario que se extiende a lo largo de del origen que se va a consultar. Todos los alias de origen que se utilizan en las cláusulas SELECT O WHERE deben declararse en la cláusula FROM. La palabra clave AS es opcional.

AT idx_alias

(Opcional) Un alias definido por el usuario que enlaza con el número de índice (ordinal) de cada elemento de una lista del origen. El alias debe declararse en la cláusula FROM mediante la palabra clave AT.

BY id_alias

(Opcional) Un alias definido por el usuario que se enlaza con el campo de metadatos id de cada documento del conjunto de resultados. El alias debe declararse en la cláusula FROM mediante la palabra clave BY. Esto resulta útil cuando se desea proteger o filtrar por identificador del documento al consultar la vista de usuario predeterminada. Para obtener más información, consulte Uso de la cláusula BY para consultar el identificador del documento.

WHERE condition

Los criterios de selección y los criterios de combinación (si procede) de la consulta.

nota

Si omite la cláusula WHERE, se recuperarán todos los elementos de la tabla.

Uniones

Actualmente solo se admiten combinaciones internas. Puede escribir consultas de combinación internas mediante la cláusula INNER JOIN explícita, de la siguiente manera. En esta sintaxis, JOIN debe combinarse con ON y la palabra clave INNER es opcional.

SELECT expression FROM table1 AS t1 [ INNER ] JOIN table2 AS t2 ON t1.element = t2.element

O bien, puede escribir combinaciones internas mediante la sintaxis implícita, de la siguiente manera.

SELECT expression FROM table1 AS t1, table2 AS t2 WHERE t1.element = t2.element

Limitaciones de consultas anidadas

Puede escribir consultas anidadas (subconsultas) dentro de las expresiones SELECT y los orígenes FROM. La principal restricción es que solo la consulta más externa puede acceder al entorno de base de datos global. Por ejemplo, suponga que tiene un libro mayor con tablas VehicleRegistration y Person. La siguiente consulta anidada no es válida porque SELECT interno intenta acceder a Person.

SELECT r.VIN, (SELECT p.PersonId FROM Person AS p WHERE p.PersonId = r.Owners.PrimaryOwner.PersonId) AS PrimaryOwner FROM VehicleRegistration AS r

Mientras que la siguiente consulta anidada es válida.

SELECT r.VIN, (SELECT o.PrimaryOwner.PersonId FROM @r.Owners AS o) AS PrimaryOwner FROM VehicleRegistration AS r

Ejemplos

La siguiente consulta muestra un comodín básico SELECT todos con una cláusula de predicado WHERE estándar que utiliza el operador IN.

SELECT * FROM Vehicle WHERE VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

A continuación se muestran las proyecciones SELECT con un filtro de cadena.

SELECT FirstName, LastName, Address FROM Person WHERE Address LIKE '%Seattle%' AND GovId = 'LEWISR261LL'

A continuación, se muestra una subconsulta correlacionada que aplana datos anidados. Tenga en cuenta que, en este caso, el carácter @ es técnicamente opcional. Sin embargo, indica de forma explícita que desea la estructura Owners que está anidada en VehicleRegistration, y no una recopilación diferente denominada Owners (si existiera). Para obtener más contexto, consulte Datos anidados en el capítulo Cómo trabajar con datos e historial.

SELECT r.VIN, o.SecondaryOwners FROM VehicleRegistration AS r, @r.Owners AS o WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

A continuación, se muestra una subconsulta de la lista SELECT que proyecta datos anidados, además de una combinación interna implícita.

SELECT v.Make, v.Model, (SELECT VALUE o.PrimaryOwner.PersonId FROM @r.Owners AS o) AS PrimaryOwner FROM VehicleRegistration AS r, Vehicle AS v WHERE r.VIN = v.VIN AND r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

A continuación, se muestra una combinación interna explícita.

SELECT v.Make, v.Model, r.Owners FROM VehicleRegistration AS r JOIN Vehicle AS v ON r.VIN = v.VIN WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

A continuación, se muestra una proyección del campo de metadatos id del documento, utilizando la cláusula BY.

SELECT r_id, r.VIN FROM VehicleRegistration AS r BY r_id WHERE r_id = 'documentId'

A continuación, se utiliza la cláusula BY para combinar las tablas DriversLicense y Person en sus campos PersonId y id del documento, respectivamente.

SELECT * FROM DriversLicense AS d INNER JOIN Person AS p BY pid ON d.PersonId = pid WHERE pid = 'documentId'

A continuación, se utiliza Vista confirmada para combinar las tablas DriversLicense y Person en sus campos PersonId y id del documento, respectivamente.

SELECT * FROM DriversLicense AS d INNER JOIN _ql_committed_Person AS cp ON d.PersonId = cp.metadata.id WHERE cp.metadata.id = 'documentId'

Lo siguiente devuelve el PersonId y el número de índice (ordinal) de cada persona de la lista Owners.SecondaryOwners de un documento de la tabla VehicleRegistration.

SELECT s.PersonId, owner_idx FROM VehicleRegistration AS r, @r.Owners.SecondaryOwners AS s AT owner_idx WHERE r.VIN = 'KM8SRDHF6EU074761'

Ejecución mediante programación con el controlador

Para obtener información sobre cómo ejecutar esta sentencia mediante programación mediante el QLDB controlador, consulte los siguientes tutoriales en Introducción al controlador:

Tema siguiente:

UPDATE

Tema anterior:

INSERT
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.