資料查詢的 SELECT 語句

您可以使用各種 SELECT 語句來查詢資訊。 語句可以是基本語句,或是限制在縮小從查詢傳回的結果集。

下列範例是用來查詢資料的基本 SELECT 語句。

SELECT * FROM Class

這個語句會傳回指定類別的實例及其任何子類別。 包含類別的所有系統和使用者定義屬性。 如果系統屬性與特定查詢無關,則會包含 Null

您可以使用數種技術來減少擷取結果集所需的頻寬,如果查詢的執行會產生太多額外負荷,而且使用者只對屬性的子集感興趣。 首先,查詢可以將星號取代為所需的屬性。

下列範例示範如何查詢特定屬性。

SELECT property_1, property_2, property_3 FROM class

結果集包含所有系統屬性和指定的非系統屬性。

另一種縮小查詢結果集範圍的技術是使用 __CLASS 系統屬性。 依預設,查詢會傳回指定類別及其子類別的所有實例。 您可以使用 __CLASS 系統屬性只要求指定類別的實例,但不包括其子類別。

下列範例示範如何在 WHERE 子句中使用 __CLASS 系統屬性。

SELECT * FROM Device WHERE __CLASS = "Device"

您也可以使用 __CLASS 系統屬性,將結果集限制為特定子類別的實例。

下列範例示範如何將結果集限制為特定子類別的實例。

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

注意

如果您為内嵌物件建構路徑不正確查詢,則查詢不會傳回錯誤或任何結果。

 

下列範例會傳回MainClass的實例,假設MainClass的實例包含内嵌物件EmbedObj,且屬性P_Uint32等於 「70011」。

SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011

下列範例不會傳回任何結果,而且不會傳回錯誤,假設MainClass實例中的内嵌物件EmbedObj沒有屬性 INVALID

SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011