The WHERE clause narrows the scope of a query. This clause contains a conditional expression, that 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.
The following 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' |
The following example retrieves disks named home and files only if the disks have a certain amount of available space remaining, and have Solaris platform file systems.
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 |