Az Azure Digital Twins lekérdezési nyelvének referenciája: SELECT záradék
Ez a dokumentum hivatkozási információkat tartalmaz az Azure Digital Twins lekérdezési nyelv SELECT záradékáról.
A SELECT záradék a lekérdezés első része. Megadja a lekérdezés által visszaadott oszlopok listáját.
Ez a záradék minden lekérdezéshez szükséges.
KIVÁLASZT*
*
A kijelölési utasításban szereplő karakterrel a digitális ikerdokumentumot úgy kivetítheti, ahogyan van, anélkül, hogy az eredményhalmaz egyik tulajdonságához rendeli.
Feljegyzés
SELECT *
csak akkor érvényes szintaxis, ha a lekérdezés nem használ JOIN
. A lekérdezések használatával JOIN
kapcsolatos további információkért tekintse meg az Azure Digital Twins lekérdezési nyelvének hivatkozását: JOIN záradék.
Syntax
SELECT *
--FROM ...
Válaszok
A lekérdezésből visszaadott tulajdonságok halmaza.
Példa
Az alábbi lekérdezés a példány összes digitális ikerpéldányát visszaadja.
SELECT *
FROM DIGITALTWINS
SELECT oszlopok vetületekkel
A SELECT záradékban lévő előrejelzések segítségével kiválaszthatja, hogy a lekérdezés mely oszlopokat adja vissza. Megadhatja az ikerpéldányok és kapcsolatok nevesített gyűjteményeit, illetve az ikerpéldányok és kapcsolatok tulajdonságait.
A kivetítés mostantól a primitív tulajdonságok és az összetett tulajdonságok esetében is támogatott.
Syntax
Gyűjtemény kivetítéséhez:
SELECT <twin-or-relationship-collection>
Tulajdonság kivetítéséhez:
SELECT <twin-or-relationship-collection>.<property-name>
Válaszok
A kivetítésben megadott ikerpéldányok, tulajdonságok vagy kapcsolatok gyűjteménye.
Ha a vetítésben szereplő tulajdonság nem szerepel egy adott adatsoron, a tulajdonság hasonlóképpen nem jelenik meg az eredményhalmazban. Erre a viselkedésre példaként tekintse meg a Project tulajdonság példáját: Az adatsorhoz nem tartozó tulajdonság.
Példák
Példaforgatókönyv
Az alábbi példákhoz fontolja meg a következő adatelemeket tartalmazó ikergráfot:
- FactoryA nevű ikerpéldány
- Egy olyan tulajdonságot tartalmaz,
name
amelynek értéke aFactoryA
- Egy olyan tulajdonságot tartalmaz,
- Egy Contoso nevű fogyasztói ikerpéldány
- Egy olyan tulajdonságot tartalmaz,
name
amelynek értéke aContoso
- Egy olyan tulajdonságot tartalmaz,
- A FactoryA és a Contoso közötti fogyasztói kapcsolat, amelynek neve
FactoryA-consumerRelationship-Contoso
- Egy olyan tulajdonságot tartalmaz,
managedBy
amelynek értéke aJeff
- Egy olyan tulajdonságot tartalmaz,
Az alábbi diagram a következő forgatókönyvet szemlélteti:
Példa projektgyűjteményre
Az alábbiakban egy példa lekérdezés látható, amely egy gyűjteményt mutat be ebből a gráfból. Az alábbi lekérdezés a példányban lévő összes digitális ikerpéldányt visszaadja a teljes ikergyűjtemény T
elnevezésével és a visszaadandó gyűjteményként való kivetítéssel T
.
SELECT T
FROM DIGITALTWINS T
A lekérdezésből visszaadott JSON-hasznos adatok:
{
"value": [
{
"result": [
{
"T": {
"$dtId": "FactoryA",
"$etag": "W/\"d22267a0-fd4f-4f6b-916d-4946a30453c9\"",
"$metadata": {
"$model": "dtmi:contosocom:DigitalTwins:Factory;1",
"name": {
"lastUpdateTime": "2021-04-19T17:15:54.4977151Z"
}
},
"name": "FactoryA"
}
},
{
"T": {
"$dtId": "Contoso",
"$etag": "W/\"a96dc85e-56ae-4061-866b-058a149e03d8\"",
"$metadata": {
"$model": "dtmi:com:contoso:Consumer;1",
"name": {
"lastUpdateTime": "2021-04-19T17:16:30.2154166Z"
}
},
"name": "Contoso"
}
}
]
}
],
"continuationToken": "null"
}
Projekt a JOIN példával
A vetítést gyakran használják egy adott gyűjtemény visszaadására.JOIN
Az alábbi lekérdezés előrejelzéssel adja vissza a Fogyasztó, a Gyár és a Kapcsolat adatait. A példában használt szintaxisról JOIN
további információt az Azure Digital Twins lekérdezési nyelvének hivatkozásában talál : JOIN záradék.
SELECT Consumer, Factory, Relationship
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'
A lekérdezésből visszaadott JSON-hasznos adatok:
{
"value": [
{
"result": [
{
"Consumer": {
"$dtId": "Contoso",
"$etag": "W/\"a96dc85e-56ae-4061-866b-058a149e03d8\"",
"$metadata": {
"$model": "dtmi:com:contoso:Consumer;1",
"name": {
"lastUpdateTime": "2021-04-19T17:16:30.2154166Z"
}
},
"name": "Contoso"
},
"Factory": {
"$dtId": "FactoryA",
"$etag": "W/\"d22267a0-fd4f-4f6b-916d-4946a30453c9\"",
"$metadata": {
"$model": "dtmi:contosocom:DigitalTwins:Factory;1",
"name": {
"lastUpdateTime": "2021-04-19T17:15:54.4977151Z"
}
},
"name": "FactoryA"
},
"Relationship": {
"$etag": "W/\"f01e07c1-19e4-4bbe-a12d-f5761e86d3e8\"",
"$relationshipId": "FactoryA-consumerRelationship-Contoso",
"$relationshipName": "consumerRelationship",
"$sourceId": "FactoryA",
"$targetId": "Contoso",
"managedBy": "Jeff"
}
}
]
}
],
"continuationToken": "null"
}
Példa projekttulajdonságra
Íme egy példa, amely egy tulajdonságot mutat be. Az alábbi lekérdezés előrejelzéssel adja vissza a name
Consumer ikerpéldány tulajdonságát és a managedBy
kapcsolat tulajdonságát.
SELECT Consumer.name, Relationship.managedBy
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'
A lekérdezésből visszaadott JSON-hasznos adatok:
{
"value": [
{
"result": [
{
"managedBy": "Jeff",
"name": "Contoso"
}
]
}
],
"continuationToken": "null"
}
Példa projekttulajdonságra: Adatsorhoz nem tartozó tulajdonság
Ha a vetítésben szereplő tulajdonság nem szerepel egy adott adatsoron, a tulajdonság hasonlóképpen nem jelenik meg az eredményhalmazban.
Ebben a példában az embereket ábrázoló ikerpéldányok halmazát tekintheti meg. Néhány ikerpéldány életkora van hozzájuk társítva, mások viszont nem.
Íme egy lekérdezés, amely a következőt és age
tulajdonságokat projekteliname
:
SELECT name, age
FROM DIGITALTWINS
Az eredmény így nézhet ki, és az age
eredményben hiányzik néhány ikerpéldány tulajdonsága, ahol az ikerpéldányok nem rendelkeznek ezzel a tulajdonsággal.
{
"value": [
{
"result": [
{
"name": "John",
"age": 27
},
{
"name": "Keanu"
}
]
}
],
"continuationToken": "null"
}
DARABSZÁM KIVÁLASZTÁSA
Ezzel a módszerrel megszámolhatja az eredményhalmaz elemeinek számát, és visszaadhatja ezt a számot.
Syntax
SELECT COUNT()
Argumentumok
Nincs.
Válaszok
Egy int
érték.
Példa
Az alábbi lekérdezés a példány összes digitális ikerpéldányának számát adja vissza.
SELECT COUNT()
FROM DIGITALTWINS
Az alábbi lekérdezés a példány összes kapcsolatának számát adja vissza.
SELECT COUNT()
FROM RELATIONSHIPS
LEGFELSŐBB ELEMEK KIVÁLASZTÁSA
Ezzel a módszerrel csak a lekérdezési követelményeknek megfelelő legfontosabb elemeket adja vissza.
Syntax
SELECT TOP(<number-of-return-items>)
Argumentumok
A int
kijelölendő legfontosabb elemek számát meghatározó érték.
Válaszok
Ikerpéldányok gyűjteménye.
Példa
Az alábbi lekérdezés csak az első öt digitális ikerpéldányt adja vissza a példányban.
SELECT TOP(5)
FROM DIGITALTWINS