Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a key condition expression in DynamoDB?
A key condition expression specifies the key values to search for in a DynamoDB table or index. It helps DynamoDB find items by matching the partition key and optionally the sort key.
Click to reveal answer
beginner
Which key(s) must be included in a key condition expression?
The partition key must always be included. The sort key can be included optionally with conditions like equals, less than, greater than, or between.
Click to reveal answer
intermediate
Example of a key condition expression to find items with partition key 'User123' and sort key greater than 100.
Can you use non-key attributes in a key condition expression?
No. Key condition expressions only work with the partition key and sort key attributes. Non-key attributes must be filtered using filter expressions after the query.
Click to reveal answer
intermediate
What operators can be used with the sort key in a key condition expression?
You can use =, <, <=, >, >=, BETWEEN, and BEGINS_WITH operators with the sort key in key condition expressions.
Click to reveal answer
Which key is mandatory in a DynamoDB key condition expression?
APartition key
BSort key
CAny attribute
DNon-key attribute
✗ Incorrect
The partition key must always be specified in a key condition expression to identify the partition to query.
Can you use a filter expression inside a key condition expression?
AYes, always
BNo, filter expressions are separate
COnly with partition key
DOnly with sort key
✗ Incorrect
Filter expressions are applied after the key condition expression to further filter results, but they are separate.
Which operator is NOT valid in a key condition expression for the sort key?
ALIKE
BBEGINS_WITH
CBETWEEN
D>
✗ Incorrect
The LIKE operator is not supported in key condition expressions; use BEGINS_WITH for prefix matching.
What happens if you omit the sort key in a key condition expression on a table with a composite key?
AQuery returns no items
BQuery fails with error
CQuery returns all items with the partition key
DQuery returns items with any partition key
✗ Incorrect
If the sort key is omitted, the query returns all items with the specified partition key.
Which of these is a valid key condition expression?
AUserId = :uid AND Age > :age
BStatus = :status
CAge > :age
DUserId = :uid AND OrderDate BETWEEN :start AND :end
✗ Incorrect
Only partition key and sort key attributes can be used in key condition expressions. Age and Status are non-key attributes.
Explain what a key condition expression is and why it is important in DynamoDB queries.
Think about how DynamoDB uses keys to find data quickly.
You got /4 concepts.
Describe the difference between key condition expressions and filter expressions in DynamoDB.
Consider when each expression is applied during a query.
You got /4 concepts.
Practice
(1/5)
1. What is the required part of a key condition expression in DynamoDB?
Key condition expressions must always include the partition key condition to identify the partition to query.
Step 2: Identify optional parts
The sort key condition is optional and used to refine the query within the partition.
Final Answer:
Partition key condition -> Option B
Quick Check:
Partition key condition = required [OK]
Hint: Partition key condition is always required in key condition expressions [OK]
Common Mistakes:
Thinking sort key condition is mandatory
Using only sort key condition without partition key
Confusing key condition with filter expressions
2. Which of the following is the correct syntax for a key condition expression to find items with partition key 'UserID' equal to '123'?
easy
A. UserID = '123'
B. partition_key = 'UserID' AND sort_key = '123'
C. UserID == 123
D. Key('UserID').eq('123')
Solution
Step 1: Identify correct key condition syntax
In DynamoDB, key condition expressions use attribute names and operators like '=' with values in quotes for strings.
Step 2: Evaluate each option
UserID = '123' uses correct syntax: UserID = '123'. partition_key = 'UserID' AND sort_key = '123' uses wrong attribute names and syntax. UserID == 123 uses '==' which is invalid. Key('UserID').eq('123') is not valid DynamoDB syntax.
Final Answer:
UserID = '123' -> Option A
Quick Check:
Correct syntax uses '=' and quotes for strings [OK]
Hint: Use single '=' and quotes for string values in key condition expressions [OK]
Common Mistakes:
Using '==' instead of '='
Confusing attribute names with keywords
Using function syntax not supported in key conditions
3. Given a DynamoDB table with partition key 'UserID' and sort key 'Timestamp', what will this key condition expression return? UserID = 'user1' AND Timestamp BETWEEN 100 AND 200
medium
A. All items with UserID 'user1' only
B. All items with Timestamp between 100 and 200 regardless of UserID
C. All items with UserID 'user1' and Timestamp between 100 and 200 inclusive
D. Syntax error due to BETWEEN usage
Solution
Step 1: Analyze partition key condition
The expression requires UserID to be 'user1', so only items with this partition key are considered.
Step 2: Analyze sort key condition with BETWEEN
The sort key Timestamp must be between 100 and 200 inclusive, filtering items within that range.
Final Answer:
All items with UserID 'user1' and Timestamp between 100 and 200 inclusive -> Option C
Quick Check:
Partition key + BETWEEN on sort key filters correctly [OK]
Hint: BETWEEN filters sort key range within partition key [OK]
Common Mistakes:
Ignoring partition key condition
Thinking BETWEEN applies to partition key
Assuming syntax error with BETWEEN
4. You wrote this key condition expression: begins_with(UserID, :uid) AND Timestamp = :ts But your query returns an error. What is the likely cause?
medium
A. Using begins_with on the partition key
B. Missing partition key condition
C. begins_with function used on sort key is valid, so no error
D. Incorrect use of AND operator
Solution
Step 1: Identify key condition expression rules
Partition key condition must use '=' operator; functions like begins_with are not allowed on partition key.
Step 2: Check usage of begins_with
begins_with is valid only on sort key, not partition key. If used on partition key, it causes an error.
Final Answer:
Using begins_with on the partition key -> Option A
Quick Check:
begins_with only valid on sort key [OK]
Hint: begins_with only works on sort key, not partition key [OK]
Common Mistakes:
Using begins_with on partition key
Omitting partition key condition
Misusing AND operator syntax
5. You want to query a DynamoDB table with partition key 'Category' and sort key 'Date'. You need all items where Category is 'Books' and Date starts with '2023-06'. Which key condition expression should you use?
hard
A. begins_with(Category, 'Books') AND Date = '2023-06'
B. Category = 'Books' AND Date BETWEEN '2023-06-01' AND '2023-06-30'
C. Category = 'Books' OR begins_with(Date, '2023-06')
D. Category = 'Books' AND begins_with(Date, '2023-06')
Solution
Step 1: Identify partition key condition
Category must be exactly 'Books', so use equality operator on partition key.
Step 2: Use begins_with on sort key
Date starts with '2023-06' means use begins_with function on sort key Date.
Step 3: Evaluate options
Category = 'Books' AND begins_with(Date, '2023-06') correctly combines equality on partition key and begins_with on sort key. Category = 'Books' AND Date BETWEEN '2023-06-01' AND '2023-06-30' uses BETWEEN but requires exact date range, which is more complex. Category = 'Books' OR begins_with(Date, '2023-06') uses OR which is invalid in key condition expressions. begins_with(Category, 'Books') AND Date = '2023-06' incorrectly uses begins_with on partition key.
Final Answer:
Category = 'Books' AND begins_with(Date, '2023-06') -> Option D
Quick Check:
Partition key = value AND begins_with on sort key [OK]
Hint: Use '=' for partition key and begins_with() for sort key prefix [OK]