勇芳软件工作室.汉化:  Windows Management Instrumentation > Creating WMI Clients > Querying with WQL > Requesting Class Instance Data >

SELECT Statement for Data Queries

Previous pageReturn to chapter overviewNext page

您可以使用各种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的实例,假设存在包含属性P_Uint32等于“70011”的嵌入对象EmbedObjMainClass实例。

 

SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011

 

注意

 

以下示例不返回任何结果,并且不会返回错误,假设MainClass中的嵌入对象EmbedObj没有属性INVALID.

 

SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011