مرجع لغة استعلام Azure Digital Twins: SELECT clause

يحتوي هذا المستند على معلومات مرجعية حول العبارة SELECTللغة استعلام Azure Digital Twins.

العبارة SELECT هي الجزء الأول من الاستعلام. يحدد قائمة الأعمدة التي سيرجعها الاستعلام.

هذا البند مطلوب لجميع الاستعلامات.

SELECT *

استخدم الحرف في * عبارة تحديد لعرض المستند الرقمي التوأم كما هو، دون تعيينه إلى خاصية في مجموعة النتائج.

ملاحظة

SELECT * هو بناء جملة صالح فقط عندما لا يستخدم الاستعلام ملف JOIN. لمزيد من المعلومات حول الاستعلامات التي تستخدم JOIN، راجع مرجع لغة استعلام Azure Digital Twins: عبارة JOIN .

بناء الجملة

SELECT *
--FROM ...

المرتجعات

مجموعة الخصائص التي يتم إرجاعها من الاستعلام.

مثال

يقوم الاستعلام التالي بإرجاع كافة التوائم الرقمية في المثيل.

SELECT *
FROM DIGITALTWINS

تحديد أعمدة مع إسقاطات

يمكنك استخدام الإسقاطات في العبارة SELECT لاختيار الأعمدة التي سيعرضها الاستعلام. يمكنك تحديد مجموعات مسماة من التوائم والعلاقات، أو خصائص التوائم والعلاقات.

يتم الآن دعم الإسقاط لكل من الخصائص البدائية والخصائص المعقدة.

بناء الجملة

لعرض مجموعة:

SELECT <twin-or-relationship-collection>

لعرض عقار:

SELECT <twin-or-relationship-collection>.<property-name>

المرتجعات

مجموعة من التوائم أو الخصائص أو العلاقات المحددة في الإسقاط.

إذا لم تكن الخاصية المضمنة في العرض موجودة لصف بيانات معين، فلن تكون الخاصية موجودة بالمثل في مجموعة النتائج. للحصول على مثال على هذا السلوك، راجع مثال الخاصية Project: الخاصية غير موجودة لصف بيانات.

أمثلة

أحد أمثلة السيناريوهات

بالنسبة للأمثلة التالية، ضع في اعتبارك رسما بيانيا مزدوجا يحتوي على عناصر البيانات التالية:

  • توأم مصنع يسمى FactoryA
    • يحتوي على خاصية تسمى name بقيمة FactoryA
  • توأم مستهلك يسمى كونتوسو
    • يحتوي على خاصية تسمى name بقيمة Contoso
  • علاقة المستهلك من FactoryA إلى Contoso ، تسمى FactoryA-consumerRelationship-Contoso
    • يحتوي على خاصية تسمى managedBy بقيمة Jeff

فيما يلي رسم تخطيطي يوضح هذا السيناريو:

Diagram showing the sample graph described above.

مثال على مجموعة Project

فيما يلي مثال على الاستعلام الذي يعرض مجموعة من هذا الرسم البياني. يقوم الاستعلام التالي بإرجاع كافة التوائم الرقمية في المثيل، عن طريق تسمية مجموعة T التوائم T بأكملها وعرضها كمجموعة للإرجاع.

SELECT T
FROM DIGITALTWINS T

إليك حمولة JSON التي تم إرجاعها من هذا الاستعلام:

{
  "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 مع مثال JOIN

يستخدم الإسقاط بشكل شائع لإرجاع مجموعة محددة في JOINملف . يستخدم الاستعلام التالي الإسقاط لإرجاع بيانات المستهلك والمصنع والعلاقة. لمزيد من المعلومات حول JOIN بناء الجملة المستخدم في المثال، راجع مرجع لغة استعلام Azure Digital Twins: عبارة JOIN .

SELECT Consumer, Factory, Relationship
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'

إليك حمولة JSON التي تم إرجاعها من هذا الاستعلام:

{
  "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"
}

مثال على الخاصية Project

في ما يلي مثال يعرض عقارا. يستخدم الاستعلام التالي الإسقاط لإرجاع name خاصية توأم المستهلك وخاصية managedBy العلاقة.

SELECT Consumer.name, Relationship.managedBy
FROM DIGITALTWINS Factory
JOIN Consumer RELATED Factory.consumerRelationship Relationship
WHERE Factory.$dtId = 'FactoryA'

إليك حمولة JSON التي تم إرجاعها من هذا الاستعلام:

{
  "value": [
    {
      "result": [
        {
          "managedBy": "Jeff",
          "name": "Contoso"
        }
      ]
    }
  ],
  "continuationToken": "null"
}

مثال الخاصية Project: الخاصية غير موجودة لصف بيانات

إذا لم تكن الخاصية المضمنة في العرض موجودة لصف بيانات معين، فلن تكون الخاصية موجودة بالمثل في مجموعة النتائج.

ضع في اعتبارك في هذا المثال مجموعة من التوائم التي تمثل الناس. بعض التوائم لديهم أعمار مرتبطة بهم ، لكن البعض الآخر لا يفعل ذلك.

في ما يلي استعلام يعرض name الخصائص والخصائص age :

SELECT name, age 
FROM DIGITALTWINS

قد تبدو النتيجة شيئا من هذا القبيل ، مع age فقدان الخاصية من بعض التوائم في النتيجة حيث لا يمتلك التوائم هذه الخاصية.

{
  "value": [
    {
      "result": [
        {
          "name": "John",
          "age": 27
        },
        {
          "name": "Keanu"
        }
      ]
    }
  ],
  "continuationToken": "null"
}

حدد العدد

استخدم هذه الطريقة لحساب عدد العناصر في مجموعة النتائج وإرجاع هذا الرقم.

بناء الجملة

SELECT COUNT()

الوسيطات

لا شيء

المرتجعات

int قيمة.

مثال

يرجع الاستعلام التالي عدد كافة التوائم الرقمية في المثيل.

SELECT COUNT()
FROM DIGITALTWINS

يرجع الاستعلام التالي عدد كافة العلاقات في المثيل.

SELECT COUNT()
FROM RELATIONSHIPS

اختر أعلى الصفحة

استخدم هذه الطريقة لإرجاع بعض العناصر الرئيسية التي تفي بمتطلبات الاستعلام فقط.

بناء الجملة

SELECT TOP(<number-of-return-items>)

الوسيطات

int قيمة تحدد عدد العناصر العليا المراد تحديدها.

المرتجعات

مجموعة من التوائم.

مثال

يقوم الاستعلام التالي بإرجاع التوائم الرقمية الخمسة الأولى فقط في المثيل.

SELECT TOP(5)
FROM DIGITALTWINS