SELECT-Anweisung für Datenabfragen
Sie können eine Vielzahl von SELECT-Anweisungen verwenden, um Informationen abzufragen. Die Anweisungen können einfache Anweisungen oder restriktiver sein, um das von der Abfrage zurückgegebene Resultset einzugrenzen.
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 eine 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 bandbreitenbezogene Menge zu reduzieren, die zum Abrufen des Resultset erforderlich ist, wenn die Ausführung der Abfrage zu viel Mehraufwand verursacht und der Benutzer nur an einer Teilmenge der Eigenschaften interessiert ist. Zuerst können Abfragen das Sternchen durch die gewünschten Eigenschaften ersetzen.
Im folgenden Beispiel wird veranschaulicht, wie bestimmte Eigenschaften abgefragt werden.
SELECT property_1, property_2, property_3 FROM class
Das Resultset enthält alle Systemeigenschaften und die angegebenen Nichtsystemeigenschaften.
Eine weitere Technik zum Eingrenzen des Gültigkeitsbereichs des Resultset einer Abfrage ist die Verwendung der _ _ CLASS-Systemeigenschaft. 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 ihrer 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 zu beschränken.
Das folgende Beispiel zeigt, wie das Resultset auf Instanzen bestimmter Unterklassen beschränkt wird.
SELECT * FROM Device WHERE __CLASS = "Modem" OR __CLASS = "Keyboard"
Hinweis
Wenn Sie eine Abfrage mit einem ungültigen Pfad für ein eingebettetes Objekt erstellen, gibt die Abfrage keinen Fehler oder keine Ergebnisse zurück.
Im folgenden Beispiel wird eine Instanz von MainClass zurückgegeben, vorausgesetzt, dass eine Instanz von MainClass vorhanden ist, die das eingebettete Objekt EmbedObj mit einer P _ Uint32-Eigenschaft enthält, die gleich "70011" ist.
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 verfügt nicht über die Eigenschaft INVALID.
SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011