DocumentDB SQL - Từ khóa Giá trị
Khi bạn biết mình chỉ trả về một giá trị duy nhất, thì từ khóa VALUE có thể giúp tạo ra một tập hợp kết quả gọn gàng hơn bằng cách tránh chi phí tạo một đối tượng toàn diện. Từ khóa VALUE cung cấp một cách để trả về giá trị JSON.
Hãy xem một ví dụ đơn giản.
Sau đây là truy vấn với từ khóa VALUE.
SELECT VALUE "Hello World, this is DocumentDB SQL Tutorial"
Khi truy vấn này được thực thi, nó trả về vô hướng "Xin chào Thế giới, đây là Hướng dẫn SQL DocumentDB".
[
"Hello World, this is DocumentDB SQL Tutorial"
]
Trong một ví dụ khác, chúng ta hãy xem xét ba tài liệu từ các ví dụ trước.
Sau đây là AndersenFamily tài liệu.
{
"id": "AndersenFamily",
"lastName": "Andersen",
"parents": [
{ "firstName": "Thomas", "relationship": "father" },
{ "firstName": "Mary Kay", "relationship": "mother" }
],
"children": [
{
"firstName": "Henriette Thaulow",
"gender": "female",
"grade": 5,
"pets": [ { "givenName": "Fluffy", "type": "Rabbit" } ]
}
],
"location": { "state": "WA", "county": "King", "city": "Seattle" },
"isRegistered": true
}
Sau đây là SmithFamily tài liệu.
{
"id": "SmithFamily",
"parents": [
{ "familyName": "Smith", "givenName": "James" },
{ "familyName": "Curtis", "givenName": "Helen" }
],
"children": [
{
"givenName": "Michelle",
"gender": "female",
"grade": 1
},
{
"givenName": "John",
"gender": "male",
"grade": 7,
"pets": [
{ "givenName": "Tweetie", "type": "Bird" }
]
}
],
"location": {
"state": "NY",
"county": "Queens",
"city": "Forest Hills"
},
"isRegistered": true
}
Sau đây là WakefieldFamily tài liệu.
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 6,
"pets": [
{ "givenName": "Charlie Brown", "type": "Dog" },
{ "givenName": "Tiger", "type": "Cat" },
{ "givenName": "Princess", "type": "Cat" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 3,
"pets": [
{ "givenName": "Jake", "type": "Snake" }
]
}
],
"location": { "state": "NY", "county": "Manhattan", "city": "NY" },
"isRegistered": false
}
Sau đây là truy vấn.
SELECT VALUE f.location
FROM Families f
Khi truy vấn này được thực thi, nó trả về trả về địa chỉ mà không có nhãn vị trí.
[
{
"state": "NY",
"county": "Manhattan",
"city": "NY"
},
{
"state": "NY",
"county": "Queens",
"city": "Forest Hills"
},
{
"state": "WA",
"county": "King",
"city": "Seattle"
}
]
Nếu bây giờ chúng ta chỉ định cùng một truy vấn mà không có Từ khoá VALUE, thì nó sẽ trả về địa chỉ có nhãn vị trí. Sau đây là truy vấn.
SELECT f.location
FROM Families f
Khi truy vấn này được thực thi, nó tạo ra kết quả sau.
[
{
"location": {
"state": "NY",
"county": "Manhattan",
"city": "NY"
}
},
{
"location": {
"state": "NY",
"county": "Queens",
"city": "Forest Hills"
}
},
{
"location": {
"state": "WA",
"county": "King",
"city": "Seattle"
}
}
]