用于数据查询的 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