Azure Digital Twins sorgu dili başvurusu: SELECT yan tümcesi
Bu belge, Azure Digital Twins sorgu dili için SELECT yan tümcesinde başvuru bilgilerini içerir.
SELECT yan tümcesi sorgunun ilk bölümüdür. Sorgunun döndüreceği sütunların listesini belirtir.
Bu yan tümce tüm sorgular için gereklidir.
SEÇİN*
*
Sonuç kümesindeki bir özelliğe atamadan dijital ikiz belgesini olduğu gibi yansıtmak için select deyimindeki karakteri kullanın.
Not
SELECT *
yalnızca sorgu bir kullanmadığında geçerli bir JOIN
söz dizimidir. kullanan JOIN
sorgular hakkında daha fazla bilgi için bkz. Azure Digital Twins sorgu dili başvurusu: JOIN yan tümcesi.
Syntax
SELECT *
--FROM ...
Döndürülenler
Sorgudan döndürülen özellikler kümesi.
Örnek
Aşağıdaki sorgu örnekteki tüm dijital ikizleri döndürür.
SELECT *
FROM DIGITALTWINS
Projeksiyonları olan SELECT sütunları
Sorgunun hangi sütunları döndüreceğini seçmek için SELECT yan tümcesindeki projeksiyonları kullanabilirsiniz. Adlandırılmış ikiz ve ilişki koleksiyonlarını ya da ikizlerin ve ilişkilerin özelliklerini belirtebilirsiniz.
Projeksiyon artık hem ilkel özellikler hem de karmaşık özellikler için desteklenmektedir.
Syntax
Bir koleksiyonu yansıtmak için:
SELECT <twin-or-relationship-collection>
Bir özelliği yansıtmak için:
SELECT <twin-or-relationship-collection>.<property-name>
Döndürülenler
projeksiyonda belirtilen ikiz, özellik veya ilişki koleksiyonu.
Projeksiyona dahil edilen bir özellik belirli bir veri satırı için mevcut değilse, özellik benzer şekilde sonuç kümesinde mevcut olmaz. Bu davranış örneği için bkz . Proje özelliği örneği: Veri satırı için özellik yok.
Örnekler
Örnek senaryo
Aşağıdaki örnekler için aşağıdaki veri öğelerini içeren bir ikiz grafını göz önünde bulundurun:
- FactoryA adlı bir Fabrika ikizi
- değeriyle adlı
name
bir özellik içerirFactoryA
- değeriyle adlı
- Contoso adlı bir Tüketici ikizi
- değeriyle adlı
name
bir özellik içerirContoso
- değeriyle adlı
- FactoryA'dan Contoso'ya consumerRelationship ilişkisi( adlı)
FactoryA-consumerRelationship-Contoso
- değeriyle adlı
managedBy
bir özellik içerirJeff
- değeriyle adlı
Bu senaryoya ilişkin bir diyagram aşağıda gösterilmiştir:
Proje koleksiyonu örneği
Aşağıda, bu grafikten bir koleksiyonun projelendiğini gösteren örnek bir sorgu verilmiştir. Aşağıdaki sorgu, ikiz koleksiyonunun tamamını adlandırarak ve döndürecek koleksiyon T
olarak yansıtarak T
örnekteki tüm dijital ikizleri döndürür.
SELECT T
FROM DIGITALTWINS T
Bu sorgudan döndürülen JSON yükü aşağıdadır:
{
"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"
}
JOIN ile proje örneği
Projeksiyon genellikle içinde belirtilen bir koleksiyonu döndürmek JOIN
için kullanılır. Aşağıdaki sorgu tüketici, fabrika ve ilişki verilerini döndürmek için projeksiyon kullanır. Örnekte kullanılan söz dizimi hakkında daha fazla bilgi JOIN
için bkz. Azure Digital Twins sorgu dili başvurusu: JOIN yan tümcesi.
SELECT Consumer, Factory, Relationship
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'
Bu sorgudan döndürülen JSON yükü aşağıdadır:
{
"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"
}
Proje özelliği örneği
Aşağıda bir özelliğin projelendiğini gösteren bir örnek verilmiştir. Aşağıdaki sorgu, Consumer ikizinin name
özelliğini ve ilişkinin özelliğini döndürmek managedBy
için projeksiyonu kullanır.
SELECT Consumer.name, Relationship.managedBy
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'
Bu sorgudan döndürülen JSON yükü aşağıdadır:
{
"value": [
{
"result": [
{
"managedBy": "Jeff",
"name": "Contoso"
}
]
}
],
"continuationToken": "null"
}
Proje özelliği örneği: Veri satırı için özellik yok
Projeksiyona dahil edilen bir özellik belirli bir veri satırı için mevcut değilse, özellik benzer şekilde sonuç kümesinde mevcut olmaz.
Bu örnekte kişileri temsil eden bir ikiz kümesi düşünün. bazı ikizlerin yaşları onlarla ilişkilidir, ancak bazıları değildir.
ve özelliklerini projeleyen bir sorgu aşağıdadır name
age
:
SELECT name, age
FROM DIGITALTWINS
Sonuç şuna benzer görünebilir ve age
ikizlerin bu özelliğe sahip olmadığı sonuçta bazı ikizlerde özelliği eksik olabilir.
{
"value": [
{
"result": [
{
"name": "John",
"age": 27
},
{
"name": "Keanu"
}
]
}
],
"continuationToken": "null"
}
SAYI SEÇ
Sonuç kümesindeki öğe sayısını saymak ve bu sayıyı döndürmek için bu yöntemi kullanın.
Söz dizimi
SELECT COUNT()
Bağımsız değişkenler
Yok.
Döndürülenler
Bir int
değer.
Örnek
Aşağıdaki sorgu, örnekteki tüm dijital ikizlerin sayısını döndürür.
SELECT COUNT()
FROM DIGITALTWINS
Aşağıdaki sorgu, örnekteki tüm ilişkilerin sayısını döndürür.
SELECT COUNT()
FROM RELATIONSHIPS
ÜST SEÇ
Sorgu gereksinimlerini karşılayan en önemli öğelerden yalnızca bazılarını döndürmek için bu yöntemi kullanın.
Söz dizimi
SELECT TOP(<number-of-return-items>)
Bağımsız değişkenler
int
Seçecek en çok kullanılan öğe sayısını belirten değer.
Döndürülenler
İkizlerden oluşan bir koleksiyon.
Örnek
Aşağıdaki sorgu, örnekte yalnızca ilk beş dijital ikizi döndürür.
SELECT TOP(5)
FROM DIGITALTWINS