Compartilhar via


Instrução SELECT para consultas de dados

Você pode usar uma variedade de instruções SELECT para consultar informações. As instruções podem ser instruções básicas ou podem ser mais restritivas para restringir o conjunto de resultados retornado da consulta.

O exemplo a seguir é uma instrução SELECT básica que é usada para consultar dados.

SELECT * FROM Class

Essa instrução retorna instâncias da classe especificada e qualquer uma de suas subclasses. Todas as propriedades definidas pelo sistema e pelo usuário para as classes estão incluídas. Se uma propriedade do sistema não for relevante para uma consulta específica, ela conterá NULL.

Você pode usar várias técnicas para reduzir a largura de banda necessária para recuperar o conjunto de resultados, se a execução da consulta resultar em muita sobrecarga e o usuário estiver interessado apenas em um subconjunto das propriedades. Primeiro, as consultas podem substituir o asterisco pelas propriedades desejadas.

O exemplo a seguir mostra como consultar propriedades específicas.

SELECT property_1, property_2, property_3 FROM class

O conjunto de resultados inclui todas as propriedades do sistema e as propriedades não do sistema especificadas.

Outra técnica para restringir o escopo do conjunto de resultados de uma consulta é usar a propriedade __CLASS sistema. Por padrão, as consultas retornam todas as instâncias da classe especificada e suas subclasses. Você pode usar a propriedade __CLASS sistema para solicitar apenas instâncias da classe especificada, excluindo suas subclasses.

O exemplo a seguir mostra como usar a propriedade do sistema __CLASS em uma cláusula WHERE.

SELECT * FROM Device WHERE __CLASS = "Device"

Você também pode usar a propriedade __CLASS sistema para restringir o conjunto de resultados a instâncias de subclasses específicas.

O exemplo a seguir mostra como restringir o conjunto de resultados a instâncias de subclasses específicas.

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

Nota

Se você construir uma consulta com um caminho inválido para um objeto inserido, sua consulta não retornará um erro ou nenhum resultado.

 

O exemplo a seguir retorna uma instância de MainClass, supondo que exista uma instância do MainClass contendo o objeto inserido EmbedObj com uma propriedade P_Uint32 igual a "70011".

SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011

O exemplo a seguir não retorna resultados e não retorna um erro, supondo que o objeto inserido EmbedObj na instância do MainClass não tenha uma propriedade INVALID.

SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011