SetUnion (NoSQL 查詢)
適用於:NoSQL
收集兩個集合中的表達式,並傳回一組運算式,其中包含兩個集合中不含重複專案的所有表達式。
語法
SetUnion(<array_expr_1>, <array_expr_2>)
引數
描述 | |
---|---|
array_expr_1 |
表達式的陣列。 |
array_expr_2 |
表達式的陣列。 |
傳回類型
傳回表達式的陣列。
範例
第一個範例會使用函式搭配靜態數位來示範等位功能。
SELECT VALUE {
simpleUnion: SetUnion([1, 2, 3, 4], [3, 4, 5, 6]),
emptyUnion: SetUnion([1, 2, 3, 4], []),
duplicatesUnion: SetUnion([1, 2, 3, 4], [1, 1, 1, 1]),
unorderedUnion: SetUnion([1, 2, "A", "B"], ["A", 1])
}
[
{
"simpleUnion": [1, 2, 3, 4, 5, 6],
"emptyUnion": [1,2,3,4],
"duplicatesUnion": [1,2,3,4],
"unorderedUnion": [1,2,"A","B"]
}
]
最後一個範例會使用共用多個數位屬性內值的專案。
[
{
"name": "Malsca coat",
"category": "seasonal-coats",
"colors": [
{
"season": "Winter",
"values": [
"Cutty Sark",
"Horizon",
"Russet",
"Fuscous"
]
},
{
"season": "Summer",
"values": [
"Fuscous",
"Horizon",
"Tacha"
]
}
]
}
]
此查詢會將兩個陣列的聯集當做新屬性傳回。
SELECT
p.name,
SetUnion(p.colors[0].values, p.colors[1].values) AS allColors
FROM
products p
WHERE
p.category = "seasonal-coats"
[
{
"name": "Malsca coat",
"allColors": [
"Cutty Sark",
"Horizon",
"Russet",
"Fuscous",
"Tacha"
]
}
]
備註
- 此函式不會傳回重複專案。
- 此函式不會使用索引。