Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
UYGULANANLAR: NoSQL
Bu makaledeki örneklerde kullanılan bir öğe aşağıda verilmiştir.
{
"name": "Sondon Fins",
"categories": [
{ "name": "swim" },
{ "name": "gear"}
],
"metadata": {
"sku": "73310",
"manufacturer": "AdventureWorks"
},
"priceInUSD": 132.35,
"priceInCAD": 174.50
}
Diziler
Aşağıdaki örnekte gösterildiği gibi statik değerleri kullanarak diziler oluşturabilirsiniz.
SELECT
[p.priceInUSD, p.priceInCAD] AS priceData
FROM products p
[
{
"priceData": [
132.35,
174.5
]
}
]
Bir alt sorgununARRAY
dizi oluşturmak için de ifadesini kullanabilirsiniz. Bu sorgu tüm ayrı kategorileri alır.
SELECT
p.id,
ARRAY (SELECT DISTINCT VALUE c.name FROM c IN p.categories) AS categoryNames
FROM
products p
[
{
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"categoryNames": [
"swim",
"gear"
]
}
]
Yineleme
NoSQL IÇIN API, kaynakta IN
anahtar sözcüğüyleFROM
JSON dizileri üzerinde yineleme desteği sağlar.
Örnek olarak, bir sonraki sorgu kapsayıcıdaki her öğe için yineleme tags
gerçekleştirir. Çıkış, dizi değerini böler ve sonuçları tek bir diziye düzleştirir.
SELECT
*
FROM
products IN products.categories
[
{
"name": "swim"
},
{
"name": "gear"
}
]
Aşağıdaki örnekte gösterildiği gibi, dizinin her bir girdisine daha fazla filtre ekleyebilirsiniz:
SELECT VALUE
p.name
FROM
p IN p.categories
WHERE
p.name LIKE "ge%"
Sonuçlar:
[
"gear"
]
Ayrıca bir dizi yinelemesinin sonucu üzerinde toplama da yapabilirsiniz. Örneğin, aşağıdaki sorgu etiket sayısını sayar:
SELECT VALUE
COUNT(1)
FROM
p IN p.categories
Sonuçlar:
[
2
]
Not
Yineleme için anahtar sözcüğünü IN
kullanırken, dizi dışındaki özellikleri filtreleyemez veya yansıtamazsınız. Bunun yerine, kendi kendine birleşimleri kullanmanız gerekir.