Megosztás a következőn keresztül:


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 JOINkapcsolatos 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 a FactoryA
  • Egy Contoso nevű fogyasztói ikerpéldány
    • Egy olyan tulajdonságot tartalmaz, name amelynek értéke a Contoso
  • 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 a Jeff

Az alábbi diagram a következő forgatókönyvet szemlélteti:

A fent ismertetett mintadiagramot ábrázoló diagram.

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