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