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 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 |