Учебники

DocumentDB SQL — ключевое слово значения

Когда вы знаете, что возвращаете только одно значение, ключевое слово VALUE может помочь получить более тонкий набор результатов, избегая затрат на создание полноценного объекта. Ключевое слово VALUE предоставляет способ вернуть значение JSON.

Давайте посмотрим на простой пример.

Значение KeyWord

Ниже приведен запрос с ключевым словом VALUE.

SELECT VALUE "Hello World, this is DocumentDB SQL Tutorial"

Когда этот запрос выполняется, он возвращает скаляр «Hello World, это DocumentDB SQL Tutorial».

[ 
   "Hello World, this is DocumentDB SQL Tutorial" 
]

В другом примере давайте рассмотрим три документа из предыдущих примеров.

Ниже приводится документ AndersenFamily .

{ 
   "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 
}

Ниже приводится документ SmithFamily .

{ 
   "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 
}

Ниже приводится документ WakefieldFamily .

{ 
   "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 
}	  

Ниже приведен запрос.

SELECT VALUE f.location 
FROM Families f

Когда этот запрос выполняется, он возвращает возвращаемый адрес без метки местоположения.

[ 
   { 
      "state": "NY", 
      "county": "Manhattan", 
      "city": "NY" 
   }, 
	
   { 
      "state": "NY", 
      "county": "Queens", 
      "city": "Forest Hills" 
   },
	
   { 
      "state": "WA", 
      "county": "King", 
      "city": "Seattle" 
   } 
] 

Если мы сейчас укажем тот же запрос без ключевого слова VALUE, он вернет адрес с меткой местоположения. Ниже приведен запрос.

SELECT f.location 
FROM Families f

Когда этот запрос выполняется, он производит следующий вывод.