
Practice Assessment for Exam AZ-204: Developing Solutions for Microsoft Azure – 030


✅ Phân tích đáp án câu hỏi
📌 Dịch câu hỏi:
Một công ty triển khai một tài khoản Azure Cosmos DB (Azure Cosmos DB account) có tên là Account1 để lưu trữ thông tin chi tiết về sản phẩm.
Bạn cần viết một truy vấn SQL có tham số (parameterized SQL query) để lấy các mục từ vùng chứa Products (Products container) dựa trên loại sản phẩm (category) và giá (price) dưới dạng tham số.
Câu hỏi:
Bạn nên viết truy vấn SQL nào?

🔍 Các lựa chọn:
Truy vấn SQL | Có phù hợp không? | Giải thích |
---|---|---|
SELECT * FROM Products p WHERE p.category = @Category AND p.price = @Price | ✅ Đúng | Đây là cú pháp chính xác cho truy vấn có tham số trong Cosmos DB, với tên vùng chứa là Products , và các tham số được biểu diễn bằng ký hiệu @ . |
SELECT * FROM Account1 a WHERE a.category = @Category AND a.price = @Price | ❌ Không | Trong Cosmos DB, không dùng tên tài khoản (account name) trong câu truy vấn SQL. |
SELECT * FROM Account1.Products p WHERE p.category = @Category AND p.price = @Price | ❌ Không | Câu truy vấn sử dụng sai cú pháp – Cosmos DB không hỗ trợ kiểu account.container trong truy vấn. |
SELECT * FROM Products p WHERE p.category = 'Category' AND p.price = 'Price' | ❌ Không | Câu này sử dụng giá trị cố định dạng chuỗi thay vì biến tham số (@) – không phải là truy vấn có tham số (parameterized). |
📘 Bổ sung từ tài liệu chính thức
Câu hỏi này kiểm tra kiến thức của thí sinh về cách thao tác với vùng chứa (container) và dữ liệu (item) bằng SDK của Azure Cosmos DB.
Cosmos DB hỗ trợ truy vấn SQL có tham số (parameterized SQL queries) thông qua ký hiệu
@
.Khi viết truy vấn, bạn chỉ cần đề cập đến tên vùng chứa (container name) – không cần (và không được) sử dụng tên tài khoản
[accountname]
hoặcaccountname.container
.Ngoài ra, không được bao tham số trong dấu nháy đơn
' '
vì điều đó biến chúng thành chuỗi tĩnh, không còn là tham số đầu vào nữa.
🔗 Nguồn tài liệu:
✅ Kết luận:
Đáp án chính xác:
✅SELECT * FROM Products p WHERE p.category = @Category AND p.price = @Price

🔐 Lý do:
- Đúng cú pháp truy vấn SQL có tham số trong Cosmos DB.
- Sử dụng tên vùng chứa (Products) một cách chính xác.
- Biểu diễn tham số bằng ký hiệu
@
và không đặt trong dấu nháy đơn.