DocumentDB SQL - Ekspresi Skalar
Dalam DocumentDB SQL, klausa SELECT juga mendukung ekspresi skalar seperti konstanta, ekspresi aritmatika, ekspresi logika, dll. Biasanya, kueri skalar jarang digunakan, karena tidak benar-benar meminta dokumen dalam koleksi, mereka hanya mengevaluasi ekspresi. Tapi masih berguna untuk menggunakan kueri ekspresi skalar untuk mempelajari dasar-dasarnya, cara menggunakan ekspresi dan membentuk JSON dalam kueri, dan konsep ini berlaku langsung ke kueri sebenarnya yang akan Anda jalankan pada dokumen dalam koleksi.
Mari kita lihat contoh yang berisi beberapa kueri skalar.
Di Penjelajah Kueri, pilih hanya teks yang akan dieksekusi dan klik 'Jalankan'. Mari kita jalankan yang pertama ini.
SELECT "Hello"
Ketika query di atas dijalankan, itu menghasilkan keluaran sebagai berikut.
[
{
"$1": "Hello"
}
]
Output ini mungkin terlihat agak membingungkan, jadi mari kita hancurkan.
Pertama, seperti yang kita lihat di demo terakhir, hasil kueri selalu dimuat dalam tanda kurung siku karena dikembalikan sebagai larik JSON, bahkan hasil dari kueri ekspresi skalar seperti ini yang hanya mengembalikan satu dokumen.
Kami memiliki array dengan satu dokumen di dalamnya, dan dokumen itu memiliki satu properti di dalamnya untuk ekspresi tunggal dalam pernyataan SELECT.
Pernyataan SELECT tidak memberikan nama untuk properti ini, sehingga DocumentDB secara otomatis membuatnya menggunakan $ 1.
Ini biasanya bukan yang kita inginkan, itulah sebabnya kita bisa menggunakan AS untuk membuat alias ekspresi dalam kueri, yang menyetel nama properti dalam dokumen yang dihasilkan seperti yang Anda inginkan, kata, dalam contoh ini.
SELECT "Hello" AS word
Ketika query di atas dijalankan, itu menghasilkan keluaran sebagai berikut.
[
{
"word": "Hello"
}
]
Demikian pula, berikut ini adalah kueri sederhana lainnya.
SELECT ((2 + 11 % 7)-2)/3
Kueri mengambil keluaran berikut.
[
{
"$1": 1.3333333333333333
}
]
Mari kita lihat contoh lain dalam membentuk array bersarang dan objek yang disematkan.
SELECT
{
"words1":
["Hello", "World"],
"words2":
["How", "Are", "You?"]
} AS allWords
Ketika query di atas dijalankan, itu menghasilkan keluaran sebagai berikut.
[
{
"allWords": {
"words1": [
"Hello",
"World"
],
"words2": [
"How",
"Are",
"You?"
]
}
}
]