WHERE 節を使うと、照会のスコープを狭めることができます。WHERE 節には、プロパティまたはキーワード、演算子、定数を指定します。WHERE 節には、あらかじめ定義された WQL 演算子の 1 つを必ず指定する必要があります。
WHERE 節を SELECT 文の後に追加する基本的な構文は、次のとおりです。
SELECT instance FROM class WHERE expression |
expression には、プロパティまたはキーワード、演算子、定数を指定します。WHERE 節を SELECT 文の後に追加するには、次のどちらかの形式を使用します。
SELECT instance FROM class [[WHERE property operator constant]] |
SELECT instance FROM class [[WHERE constant operator property]] |
定数の値は、プロパティに対して適切なデータ型のものである。
演算子は、表 4–4 に示す WQL 演算子のいずれかでなければならない。
演算子のどちらかの側は、プロパティ名または定数でなければならない。
任意の算術式を指定することはできない。たとえば、次の照会では、ready 状態のプリンタを持つ Solaris_Printer クラスのインスタンスだけが返されます。
SELECT * FROM Solaris_Printer WHERE Status = “ready” |
次の照会は無効です。
SELECT * FROM PhysicalDisk WHERE Partitions < (8 + 2 - 2) |
WHERE 節中には、論理演算子やかっこ式を使って、プロパティ、演算子、定数からなる複数のグループを結合することができます。次の表に示すように、個々のグループは、AND、OR、NOT 演算子で結合されている必要があります。
表 4–6 論理演算子を使った照会
照会例 |
説明 |
---|---|
SELECT * FROM Solaris_FileSystem WHERE Name= "home" OR Name= "files" |
Name プロパティに home か files が設定されている Solaris_FileSystem クラスのすべてのインスタンスを検索する。 |
SELECT * FROM Solaris_FileSystem WHERE (Name = “home” OR Name = “files”) AND AvailableSpace > 2000000 AND FileSystem = “Solaris” |
名前が home か files のディスクのうち、一定の使用可能な容量が残っており、かつ Solaris ファイルシステムを持つディスクを検索する。 |