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 wordt de lijst met kolommen opgegeven die door de query worden geretourneerd.
Deze component is vereist voor alle query's.
SELECTEER*
Gebruik het *
teken in een select-instructie om het digitale dubbeldocument ongewijzigd te projecteren, zonder het toe te wijzen aan een eigenschap in de resultatenset.
Notitie
SELECT *
is alleen geldige syntaxis wanneer de query geen gebruikt JOIN
. Zie Naslaginformatie over azure Digital Twins-querytaal: JOIN-component voor meer informatie over query's JOIN
met behulp van .
Syntax
SELECT *
--FROM ...
Retouren
De set eigenschappen die worden geretourneerd door de query.
Voorbeeld
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.
Syntax
Een verzameling project maken:
SELECT <twin-or-relationship-collection>
Een eigenschap project maken:
SELECT <twin-or-relationship-collection>.<property-name>
Retouren
Een verzameling dubbels, 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 evenmin aanwezig in de resultatenset. Zie Voorbeeld van projecteigenschap: eigenschap niet aanwezig voor een gegevensrij voor een voorbeeld van dit gedrag.
Voorbeelden
Voorbeeldscenario
Voor de volgende voorbeelden kunt u een tweelinggrafiek gebruiken die de volgende gegevenselementen bevat:
- Een factorydubbel met de naam FactoryA
- Bevat een eigenschap met de naam
name
met de waarde vanFactoryA
- Bevat een eigenschap met de naam
- Een consumentendubbel met de naam Contoso
- Bevat een eigenschap met de naam
name
met de waarde vanContoso
- Bevat een eigenschap met de naam
- Een consumerRelatierelatie van FactoryA met Contoso, met de naam
FactoryA-consumerRelationship-Contoso
- Bevat een eigenschap met de naam
managedBy
met de waarde vanJeff
- Bevat een eigenschap met de naam
Hier volgt een diagram dat dit scenario illustreert:
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 meestal gebruikt om een verzameling te retourneren die is opgegeven in een JOIN
. In de volgende query wordt projectie gebruikt om de gegevens van consumer, factory en relatie te retourneren. Zie Naslaginformatie over azure Digital Twins-querytaal: JOIN-component voor meer informatie over de JOIN
syntaxis die in het voorbeeld wordt gebruikt.
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 eigenschap van de name
consumerdubbel en de eigenschap van de managedBy
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 evenmin aanwezig in de resultatenset.
Neem in dit voorbeeld een set tweelingen die personen vertegenwoordigen. Sommige tweelingen hebben leeftijden, maar andere niet.
Hier volgt een query waarmee de name
eigenschappen en age
worden geprojecteert:
SELECT name, age
FROM DIGITALTWINS
Het resultaat kan er ongeveer als volgt uitzien, waarbij de age
eigenschap ontbreekt in sommige tweelingen in het resultaat waarbij 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 aantal te retourneren.
Syntaxis
SELECT COUNT()
Argumenten
Geen.
Retouren
Een int
waarde.
Voorbeeld
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
TOP 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.
Voorbeeld
De volgende query retourneert alleen de eerste vijf digitale dubbels in het exemplaar.
SELECT TOP(5)
FROM DIGITALTWINS