테이블 쿼리 - Amazon DynamoDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

테이블 쿼리

또 다른 공통적인 액세스 패턴은 쿼리 기준에 기반하여 한 테이블에서 복수의 항목을 읽어오는 것입니다.

SQL에서 테이블 쿼리

SQL SELECT 문을 사용하여 키 열, 키 이외 열 또는 임의의 조합에서 쿼리를 수행할 수 있습니다. 다음 예제와 같이 WHERE 절은 반환되는 행을 결정합니다.

/* Return a single song, by primary key */ SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today';
/* Return all of the songs by an artist */ SELECT * FROM Music WHERE Artist='No One You Know';
/* Return all of the songs by an artist, matching first part of title */ SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle LIKE 'Call%';
/* Return all of the songs by an artist, with a particular word in the title... ...but only if the price is less than 1.00 */ SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle LIKE '%Today%' AND Price < 1.00;

참고로 이 테이블의 기본 키는 Artist 및 으로 구성되어 SongTitle있습니다.

DynamoDB에서 테이블 쿼리

Amazon DynamoDB에서는 DynamoDB API나 PartiQL(SQL 호환 쿼리 언어)을 사용하여 테이블에서 항목을 쿼리할 수 있습니다.

DynamoDB API

Amazon DynamoDB의 Query 작업을 사용해도 비슷한 방법으로 데이터를 가져올 수 있습니다. Query 작업은 데이터가 저장된 물리적 위치에 대한 빠르고 효율적인 액세스를 제공합니다. 자세한 정보는 파티션 및 데이터 배포을 참조하세요.

테이블 또는 보조 인덱스와 함께 Query를 사용할 수 있습니다. 파티션 키 값에는 등식 조건을 지정해야 하며 지정된 경우 정렬 키 속성에 대해 다른 조건을 선택적으로 지정할 수 있습니다.

KeyConditionExpression 파라미터는 쿼리하려는 키 값을 지정합니다. 선택 사항인 FilterExpression을 사용하면 반환 전에 일정 항목을 결과에서 제거할 수 있습니다.

DynamoDB에서는 ExpressionAttributeValues를 표현식 파라미터(KeyConditionExpression, FilterExpression 등)에서 자리 표시자로 사용해야 합니다. 이는 런타임에 실제 값을 SELECT 문으로 대체하는 관계형 데이터베이스의 바인드 변수 사용과 유사합니다.

참고로 이 테이블의 기본 키는 Artist 및 으로 구성되어 SongTitle있습니다.

다음은 몇 가지 DynamoDB Query 예제입니다.

// Return a single song, by primary key { TableName: "Music", KeyConditionExpression: "Artist = :a and SongTitle = :t", ExpressionAttributeValues: { ":a": "No One You Know", ":t": "Call Me Today" } }
// Return all of the songs by an artist { TableName: "Music", KeyConditionExpression: "Artist = :a", ExpressionAttributeValues: { ":a": "No One You Know" } }
// Return all of the songs by an artist, matching first part of title { TableName: "Music", KeyConditionExpression: "Artist = :a and begins_with(SongTitle, :t)", ExpressionAttributeValues: { ":a": "No One You Know", ":t": "Call" } }
참고

Query를 사용하는 코드 예제는 DynamoDB 및 AWS SDK 시작하기 섹션을 참조하세요.

PartiQL for DynamoDB

PartiQL에서는 ExecuteStatement 작업과 파티션 키에 Select 문을 사용하여 쿼리를 수행할 수 있습니다.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know'

이와 같이 SELECT 문을 사용하면 이 특정 Artist와 연결된 모든 곡이 반환됩니다.

SelectExecuteStatement를 사용하는 코드 예제는 DynamoDB의 PartiQL select 문 섹션을 참조하세요.