The WHERE clause narrows the scope of a query. This clause contains a conditional expression, which can contain a property or key word, an operator, and a constant.
The syntax for a WHERE clause appended to a SELECT statement is as follows:
SELECT CIMinstance FROM CIMclass WHERE conditional_expression |
The conditional_expression in the WHERE clause takes the following form:
property operator constant
The expression is composed of a property or key word, an operator, and a constant. You can append the WHERE clause to the SELECT statement using one of the following forms:
SELECT instance FROM class [[WHERE constant operator property]] |
Valid WHERE clauses follow these rules:
The value of the constant must be of the correct data type for the property.
The operator must be a valid WQL operator.
Either a property name or a constant must appear on either side of the operator in the WHERE clause.
Arbitrary arithmetic expressions cannot be used. For example, the following query returns only instances of the Solaris_Printer class that represent a printer with ready status:
SELECT * FROM Solaris_Printer WHERE Status = `ready' |
Multiple groups of properties, operators, and constants can be combined in a WHERE clause using logical operators and parenthetical expressions. Each group must be joined with the AND, OR, or NOT operators.
This example retrieves all instances of the Solaris_FileSystem class with the Name property set to either home or files:
SELECT * FROM Solaris_FileSystem WHERE Name= `home' OR Name= `files' |
This example retrieves disks named home and files only if the disks have a certain amount of available space remaining, and have a Solaris file systes.
SELECT * FROM Solaris_FileSystem WHERE (Name = `home' OR Name = `files') AND AvailableSpace > 2000000 AND FileSystem = `Solaris' |
You can use the following standard WQL operators for a binary expression in the WHERE clause of a SELECT statement.
Table 5-4 WQL Operators for WHERE Clauses
Operator |
Description |
---|---|
= |
Equal to |
< |
Less than |
> |
Greater than |
<= |
Less than or equal to |
>= |
Greater than or equal to |
<> |
Not equal to |