WHERE 句は、照会のスコープを狭めます。WHERE 句には条件式が含まれています。これらの条件式には、プロパティまたはキーワード、演算子、定数が含まれます。
SELECT 文のあとに追加する WHERE 句の構文の例を次に示します。
SELECT CIMinstance FROM CIMclass WHERE conditional_expression |
WHERE 句の conditional_expression は、次の形式です。
property operator constant
expression には、プロパティまたはキーワード、演算子、定数を指定します。WHERE 句を SELECT 文のあとに追加するために、次のどちらかの形式を使用します。
SELECT instance FROM class [[WHERE constant operator property]] |
定数の値は、プロパティに対して適切なデータ型である
演算子は、有効な WQL 演算子である
演算子のどちらかが、プロパティ名または定数である
任意の算術式を指定することはできないたとえば、次の照会では、ready 状態のプリンタを持つ Solaris_Printer クラスのインスタンスだけが返される
SELECT * FROM Solaris_Printer WHERE Status = `ready' |
WHERE 句中には、論理演算子やカッコ式を使用して、プロパティ、演算子、定数からなる複数のグループを結合することができる。各グループは、AND、OR、NOT 演算子で結合されている必要がある。
次の例では、Name プロパティに home か files が設定されている Solaris_FileSystem クラスのすべてのインスタンスを取得します。
SELECT * FROM Solaris_FileSystem WHERE Name= `home' OR Name= `files' |
次の例では、名前が home か files のディスクのうち、一定の使用可能な容量が残っており、 Solaris ファイルシステムを持つディスクを取得します。
SELECT * FROM Solaris_FileSystem WHERE (Name = `home' OR Name = `files') AND AvailableSpace> 2000000 AND FileSystem = `Solaris' |
SELECT 文の WHERE 句でのバイナリ式では、次の標準の WQL 演算子を使用できます。
表 5-4 WHERE 句で使用できる WQL 演算子
演算子 |
説明 |
---|---|
= |
等しい |
< |
より小さい |
> |
より大きい |
<= |
以下 |
>= |
以上 |
<> |
等しくない |