Naslaginformatie over azure Digital Twins-querytaal: SELECT-component
Dit document bevat naslaginformatie over de SELECT-component voor de Azure Digital Twins-querytaal.
De SELECT-component is het eerste deel van een query. Hiermee geeft u de lijst met kolommen op die door de query worden geretourneerd.
Deze component is vereist voor alle query's.
SELECTEREN*
Gebruik het *
teken in een select-instructie om het document met digitale dubbels te projecteren, zonder het toe te wijzen aan een eigenschap in de resultatenset.
Notitie
SELECT *
is alleen geldige syntaxis wanneer de query geen gebruik maakt van een JOIN
. Zie azure Digital Twins-querytaalreferentie: JOIN-component voor meer informatie over query's met behulp van JOIN
query's.
Syntaxis
SELECT *
--FROM ...
Retouren
De set eigenschappen die worden geretourneerd door de query.
Opmerking
De volgende query retourneert alle digitale dubbels in het exemplaar.
SELECT *
FROM DIGITALTWINS
SELECT-kolommen met projecties
U kunt projecties in de SELECT-component gebruiken om te kiezen welke kolommen een query retourneert. U kunt benoemde verzamelingen van tweelingen en relaties, of eigenschappen van tweelingen en relaties opgeven.
Projectie wordt nu ondersteund voor zowel primitieve eigenschappen als complexe eigenschappen.
Syntaxis
Een verzameling projecteren:
SELECT <twin-or-relationship-collection>
Een eigenschap projecteren:
SELECT <twin-or-relationship-collection>.<property-name>
Retouren
Een verzameling tweelingen, eigenschappen of relaties die zijn opgegeven in de projectie.
Als een eigenschap die is opgenomen in de projectie niet aanwezig is voor een bepaalde gegevensrij, is de eigenschap ook niet aanwezig in de resultatenset. Zie projecteigenschapsvoorbeeld voor een voorbeeld van dit gedrag: Eigenschap niet aanwezig voor een gegevensrij.
Voorbeelden
Voorbeeldscenario
Bekijk voor de volgende voorbeelden een dubbelgrafiek die de volgende gegevenselementen bevat:
- Een factorydubbel genaamd FactoryA
- Bevat een eigenschap die wordt aangeroepen
name
met een waarde vanFactoryA
- Bevat een eigenschap die wordt aangeroepen
- Een consumentendubbel met de naam Contoso
- Bevat een eigenschap die wordt aangeroepen
name
met een waarde vanContoso
- Bevat een eigenschap die wordt aangeroepen
- Een consumerRelationship-relatie van FactoryA naar Contoso, aangeroepen
FactoryA-consumerRelationship-Contoso
- Bevat een eigenschap die wordt aangeroepen
managedBy
met een waarde vanJeff
- Bevat een eigenschap die wordt aangeroepen
Hier volgt een diagram waarin dit scenario wordt geïllustreerd:
Voorbeeld van projectverzameling
Hieronder ziet u een voorbeeldquery die een verzameling uit deze grafiek projecteert. De volgende query retourneert alle digitale dubbels in het exemplaar door de volledige tweelingverzameling T
een naam te geven en te projecteren T
als de verzameling die moet worden geretourneerd.
SELECT T
FROM DIGITALTWINS T
Dit is de JSON-nettolading die wordt geretourneerd door deze query:
{
"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"
}
Project met JOIN-voorbeeld
Projectie wordt vaak gebruikt om een verzameling te retourneren die is opgegeven in een JOIN
. De volgende query maakt gebruik van projectie om de gegevens van de consument, factory en relatie te retourneren. Zie de naslaginformatie over azure Digital Twins-querytaal voor meer informatie over de JOIN
syntaxis die in het voorbeeld wordt gebruikt: JOIN-component.
SELECT Consumer, Factory, Relationship
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'
Dit is de JSON-nettolading die wordt geretourneerd door deze query:
{
"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"
}
Voorbeeld van projecteigenschap
Hier volgt een voorbeeld dat een eigenschap projecteert. In de volgende query wordt projectie gebruikt om de name
eigenschap van de consumerdubbel en de managedBy
eigenschap van de relatie te retourneren.
SELECT Consumer.name, Relationship.managedBy
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'
Dit is de JSON-nettolading die wordt geretourneerd door deze query:
{
"value": [
{
"result": [
{
"managedBy": "Jeff",
"name": "Contoso"
}
]
}
],
"continuationToken": "null"
}
Voorbeeld van projecteigenschap: Eigenschap niet aanwezig voor een gegevensrij
Als een eigenschap die is opgenomen in de projectie niet aanwezig is voor een bepaalde gegevensrij, is de eigenschap ook niet aanwezig in de resultatenset.
Bekijk voor dit voorbeeld een set tweelingen die personen vertegenwoordigen. Sommige tweelingen hebben leeftijden gekoppeld, maar andere niet.
Hier volgt een query die de name
en age
eigenschappen projecteert:
SELECT name, age
FROM DIGITALTWINS
Het resultaat kan er ongeveer als volgt uitzien, waarbij de age
eigenschap ontbreekt in sommige tweelingen in het resultaat waarin de tweelingen deze eigenschap niet hebben.
{
"value": [
{
"result": [
{
"name": "John",
"age": 27
},
{
"name": "Keanu"
}
]
}
],
"continuationToken": "null"
}
AANTAL SELECTEREN
Gebruik deze methode om het aantal items in de resultatenset te tellen en dat getal te retourneren.
Syntaxis
SELECT COUNT()
Argumenten
Geen.
Retouren
Een int
waarde.
Opmerking
De volgende query retourneert het aantal digitale dubbels in het exemplaar.
SELECT COUNT()
FROM DIGITALTWINS
De volgende query retourneert het aantal relaties in het exemplaar.
SELECT COUNT()
FROM RELATIONSHIPS
BOVENSTE SELECTEREN
Gebruik deze methode om slechts enkele van de belangrijkste items te retourneren die voldoen aan de queryvereisten.
Syntaxis
SELECT TOP(<number-of-return-items>)
Argumenten
Een int
waarde die het aantal topitems aangeeft dat moet worden geselecteerd.
Retouren
Een verzameling tweelingen.
Opmerking
De volgende query retourneert alleen de eerste vijf digitale dubbels in het exemplaar.
SELECT TOP(5)
FROM DIGITALTWINS