Az Azure Digital Twins lekérdezési nyelvének referenciája: SELECT záradék
Ez a dokumentum az Azure Digital Twins lekérdezési nyelvSELECT záradékával kapcsolatos referenciainformációkat tartalmaz.
A SELECT záradék a lekérdezés első része. Meghatározza a lekérdezés által visszaadott oszlopok listáját.
Ez a záradék minden lekérdezéshez szükséges.
VÁLASSZA KI*
*
A select utasításban szereplő karakterrel kivetítheti a digitális ikerdokumentumot úgy, ahogy van, anélkül, hogy hozzá lenne rendelve egy tulajdonsághoz az eredményhalmazban.
Megjegyzés
SELECT *
csak akkor érvényes szintaxis, ha a lekérdezés nem használ JOIN
. A használatával JOIN
végzett lekérdezésekkel kapcsolatos további információkért lásd: Az Azure Digital Twins lekérdezési nyelvének referenciája: 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 leképezésekkel
A SELECT záradékban lévő leképezésekkel 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 leképezé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 leképezésben megadott ikerpéldányok, tulajdonságok vagy kapcsolatok gyűjteménye.
Ha a leképezésben szereplő tulajdonság nem található meg 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ának példáját: Az adatsorhoz nem tartozó tulajdonság.
Példák
Példaforgatókönyv
Az alábbi példákhoz vegyünk egy ikergráfot, amely a következő adatelemeket tartalmazza:
- FactoryA nevű factory ikerpéldány
- Egy nevű
name
tulajdonságot tartalmaz, amelynek értékeFactoryA
- Egy nevű
- Egy Contoso nevű fogyasztói ikerpéldány
- Egy nevű
name
tulajdonságot tartalmaz, amelynek értékeContoso
- Egy nevű
- A FactoryA és a Contoso közötti consumerRelationship kapcsolat, amelynek neve
FactoryA-consumerRelationship-Contoso
- Egy nevű
managedBy
tulajdonságot tartalmaz, amelynek értékeJeff
- Egy nevű
Íme egy diagram, amely az alábbi 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. A következő lekérdezés a példányban lévő összes digitális ikerpéldányt visszaadja a teljes ikerpéldány-gyűjtemény T
elnevezésével, és a visszaküldött gyűjteményként való kivetítés T
révén.
SELECT T
FROM DIGITALTWINS T
A lekérdezés által visszaadott JSON-hasznos adat:
{
"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 JOIN példával
A leképezést általában a függvényben JOIN
megadott gyűjtemény visszaadására használják. Az alábbi lekérdezés leképezé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 referencianyelve: JOIN záradék című témakörben talál.
SELECT Consumer, Factory, Relationship
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'
A lekérdezés által visszaadott JSON-hasznos adat:
{
"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 a Project tulajdonságra
Íme egy példa, amely egy tulajdonságot mutat be. Az alábbi lekérdezés leképezé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és által visszaadott JSON-hasznos adat:
{
"value": [
{
"result": [
{
"managedBy": "Jeff",
"name": "Contoso"
}
]
}
],
"continuationToken": "null"
}
Projekttulajdonság-példa: Adatsorhoz nem tartozó tulajdonság
Ha a leképezésben szereplő tulajdonság nem található meg egy adott adatsoron, a tulajdonság hasonlóképpen nem jelenik meg az eredményhalmazban.
Ebben a példában vegyünk egy ikerpéldány-készletet, amely az embereket jelöli. Néhány ikerpéldány életkora van hozzájuk rendelve, mások viszont nem.
Íme egy lekérdezés, amely a és age
a tulajdonságot 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ámlálhatja az eredményhalmaz elemeinek számát, és visszaadhatja ezt a számot.
Szintaxis
SELECT COUNT()
Argumentumok
Nincsenek.
Válaszok
Egy int
érték.
Példa
A következő lekérdezés a példány összes digitális ikerpéldányának számát adja vissza.
SELECT COUNT()
FROM DIGITALTWINS
A következő lekérdezés a példány összes kapcsolatának számát adja vissza.
SELECT COUNT()
FROM RELATIONSHIPS
VÁLASSZA A FELSŐ LEHETŐSÉGET
Ezzel a módszerrel csak a lekérdezési követelményeknek megfelelő legfontosabb elemeket adja vissza.
Szintaxis
SELECT TOP(<number-of-return-items>)
Argumentumok
Egy int
érték, amely a kijelölendő legfontosabb elemek számát adja meg.
Válaszok
Ikerpéldányok gyűjteménye.
Példa
A következő lekérdezés csak az első öt digitális ikerpéldányt adja vissza a példányban.
SELECT TOP(5)
FROM DIGITALTWINS