您可以使用各种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”的嵌入对象EmbedObj的MainClass实例。
SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011
注意
以下示例不返回任何结果,并且不会返回错误,假设MainClass中的嵌入对象EmbedObj没有属性INVALID.
SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011