INSTRUKCJA SELECT dla zapytań dotyczących danych
Do wykonywania zapytań dotyczących informacji można użyć różnych instrukcji SELECT. Instrukcje mogą być instrukcjami podstawowymi lub mogą być bardziej restrykcyjne, aby zawęzić zestaw wyników zwracany z zapytania.
Poniższy przykład to podstawowa instrukcja SELECT używana do wykonywania zapytań dotyczących danych.
SELECT * FROM Class
Ta instrukcja zwraca wystąpienia określonej klasy i dowolnej z jej podklas. Uwzględniane są wszystkie właściwości systemowe i zdefiniowane przez użytkownika dla klas. Jeśli właściwość systemowa nie jest odpowiednia dla określonego zapytania, zawiera null.
Możesz użyć kilku technik, aby zmniejszyć przepustowość wymaganą do pobrania zestawu wyników, jeśli wykonanie zapytania spowoduje zbyt duże obciążenie, a użytkownik jest zainteresowany tylko podzbiorem właściwości. Najpierw zapytania mogą zastąpić gwiazdkę żądanymi właściwościami.
W poniższym przykładzie pokazano, jak wykonywać zapytania dotyczące określonych właściwości.
SELECT property_1, property_2, property_3 FROM class
Zestaw wyników zawiera wszystkie właściwości systemu i określone właściwości systemu.
Inną techniką zawężania zakresu zestawu wyników zapytania jest użycie właściwości systemu __CLASS. Zapytania domyślnie zwracają wszystkie wystąpienia określonej klasy i jej podklasy. Możesz użyć właściwości systemu __CLASS, aby zażądać tylko wystąpień określonej klasy, z wyłączeniem jej podklas.
W poniższym przykładzie pokazano, jak używać właściwości systemu __CLASS w klauzuli WHERE.
SELECT * FROM Device WHERE __CLASS = "Device"
Możesz również użyć właściwości systemu __CLASS, aby ograniczyć zestaw wyników do wystąpień określonych podklas.
W poniższym przykładzie pokazano, jak ograniczyć zestaw wyników do wystąpień określonych podklas.
SELECT * FROM Device WHERE __CLASS = "Modem" OR __CLASS = "Keyboard"
Nuta
Jeśli skonstruujesz zapytanie z nieprawidłową ścieżką dla obiektu osadzonego, zapytanie nie zwraca błędu ani żadnych wyników.
Poniższy przykład zwraca wystąpienie MainClass, zakładając, że wystąpienie MainClass istnieje zawierające obiekt osadzony EmbedObj z właściwością P_Uint32 równą "70011".
SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011
Poniższy przykład nie zwraca żadnych wyników i nie zwraca błędu, zakładając, że obiekt osadzony EmbedObj w wystąpieniu MainClass nie ma właściwości INVALID.
SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011