Delen via


SELECT-instructie voor gegevensquery's

U kunt verschillende SELECT-instructies gebruiken om te zoeken naar informatie. De instructies kunnen basisinstructies zijn of kunnen meer beperkend zijn om de resultatenset te beperken die wordt geretourneerd uit de query.

Het volgende voorbeeld is een eenvoudige SELECT-instructie die wordt gebruikt om een query uit te voeren op gegevens.

SELECT * FROM Class

Met deze instructie worden exemplaren van de opgegeven klasse en een van de bijbehorende subklassen geretourneerd. Alle door het systeem en de gebruiker gedefinieerde eigenschappen voor de klassen zijn opgenomen. Als een systeemeigenschap niet relevant is voor een bepaalde query, bevat deze NULL-.

U kunt verschillende technieken gebruiken om de bandbreedte te verminderen die nodig is om de resultatenset op te halen, als de uitvoering van de query te veel overhead oplevert en de gebruiker alleen geïnteresseerd is in een subset van de eigenschappen. Ten eerste kunnen query's het sterretje vervangen door de gewenste eigenschappen.

In het volgende voorbeeld ziet u hoe u query's kunt uitvoeren op specifieke eigenschappen.

SELECT property_1, property_2, property_3 FROM class

De resultatenset bevat alle systeemeigenschappen en de opgegeven niet-systeemeigenschappen.

Een andere techniek voor het beperken van het bereik van de resultatenset van een query is het gebruik van de __CLASS systeemeigenschap. Query's retourneren standaard alle exemplaren van de opgegeven klasse en de bijbehorende subklassen. U kunt de __CLASS systeemeigenschap gebruiken om alleen exemplaren van de opgegeven klasse aan te vragen, met uitzondering van de subklassen.

In het volgende voorbeeld ziet u hoe u de systeemeigenschap __CLASS gebruikt in een WHERE-component.

SELECT * FROM Device WHERE __CLASS = "Device"

U kunt ook de eigenschap __CLASS systeem gebruiken om de resultatenset te beperken tot exemplaren van bepaalde subklassen.

In het volgende voorbeeld ziet u hoe u de resultatenset beperkt tot exemplaren van bepaalde subklassen.

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

Notitie

Als u een query maakt met een ongeldig pad voor een ingesloten object, retourneert uw query geen fout of eventuele resultaten.

 

In het volgende voorbeeld wordt een exemplaar van MainClassgeretourneerd, ervan uitgaande dat een exemplaar van MainClass bestaat met het ingesloten object EmbedObj- met een eigenschap P_Uint32 die gelijk is aan '70011'.

SELECT * FROM MainClass WHERE EmbedObj.P_Uint32 = 70011

Het volgende voorbeeld retourneert geen resultaten en retourneert geen fout, ervan uitgaande dat het ingesloten object EmbedObj- in het exemplaar van MainClass- geen eigenschap heeft ONGELDIGe.

SELECT * FROM MainClass WHERE StrongEmbedObj.INVALID = 70011