Freigeben über


SELECT-Anweisung für Datenabfragen

Sie können eine Vielzahl von SELECT-Anweisungen verwenden, um Informationen abzufragen. Die Anweisungen können grundlegende Anweisungen sein, oder sie können restriktiver sein, um das von der Abfrage zurückgegebene Resultset einzuschränken.

Das folgende Beispiel ist eine einfache SELECT-Anweisung, die zum Abfragen von Daten verwendet wird.

SELECT * FROM Class

Diese Anweisung gibt Instanzen der angegebenen Klasse und einer ihrer Unterklassen zurück. Alle System- und benutzerdefinierten Eigenschaften für die Klassen sind enthalten. Wenn eine Systemeigenschaft für eine bestimmte Abfrage nicht relevant ist, enthält sie NULL-.

Sie können mehrere Techniken verwenden, um die zum Abrufen des Resultsets erforderliche Bandbreite zu reduzieren, wenn die Ausführung der Abfrage zu viel Mehraufwand führt und der Benutzer nur an einer Teilmenge der Eigenschaften interessiert ist. Zuerst können Abfragen das Sternchen durch die gewünschten Eigenschaften ersetzen.

Das folgende Beispiel zeigt, wie Sie bestimmte Eigenschaften abfragen.

SELECT property_1, property_2, property_3 FROM class

Das Resultset enthält alle Systemeigenschaften und die angegebenen Nichtsystemeigenschaften.

Eine weitere Technik zum Einschränken des Bereichs des Resultsets einer Abfrage besteht darin, die __CLASS Systemeigenschaft zu verwenden. Abfragen geben standardmäßig alle Instanzen der angegebenen Klasse und deren Unterklassen zurück. Sie können die __CLASS Systemeigenschaft verwenden, um nur Instanzen der angegebenen Klasse anzufordern, mit Ausnahme der Unterklassen.

Das folgende Beispiel zeigt, wie die __CLASS Systemeigenschaft in einer WHERE-Klausel verwendet wird.

SELECT * FROM Device WHERE __CLASS = "Device"

Sie können auch die __CLASS Systemeigenschaft verwenden, um das Resultset auf Instanzen bestimmter Unterklassen einzuschränken.

Das folgende Beispiel zeigt, wie Sie das Resultset auf Instanzen bestimmter Unterklassen beschränken.

SELECT * FROM Device WHERE __CLASS = "Modem" OR __CLASS = "Keyboard"

Anmerkung

Wenn Sie eine Abfrage mit einem ungültigen Pfad für ein eingebettetes Objekt erstellen, gibt ihre Abfrage keinen Fehler oder ergebnisse zurück.

 

Im folgenden Beispiel wird eine Instanz von MainClasszurückgegeben, wobei davon ausgegangen wird, dass eine Instanz von MainClass- vorhanden ist, die das eingebettete Objekt EmbedObj- mit einer Eigenschaft P_Uint32, die "70011" entspricht.

SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011

Das folgende Beispiel gibt keine Ergebnisse zurück und gibt keinen Fehler zurück, vorausgesetzt, das eingebettete Objekt EmbedObj in der Instanz von MainClass besitzt keine Eigenschaft INVALID.

SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011