AND vs. OR in queries
The Join field in the Query Builder provides connectors for joining rules (AND, AND NOT, OR, OR NOT). The effect of AND versus OR in the Query Builder may not be obvious at first glance.
In essence, AND and OR work in this way:
AND limits or restricts the scope of the query.
OR opens up the query to an additional possibility, expanding the scope of the query.
Note: Do not use AND to join the rules that are intended to include additional virtual machines in the backup list. For instance, AND cannot be used to mean "include virtual machine X AND virtual machine Y."
For example: To include the virtual machines that have either "vm1" or "vm2" in their names, use OR to join the rules:
Displayname Contains "vm1" OR Displayname Contains "vm2"
If you use AND to join these rules:
Displayname Contains "vm1" AND Displayname Contains "vm2"
the result is different: the backup list includes only the virtual machines that have both vm1 and vm2 in their names (such as "acmevm1vm2"). A virtual machine with the name "acmevm1" is not included in the backup.
Table: Queries with AND, OR provides the examples with AND and OR.
Table: Queries with AND, OR
Query | Description |
|---|---|
Displayname Contains "vm1" OR Displayname Contains "vm2" | This query selects any virtual machine that has either vm1 or vm2 in its display name. For example, this query selects both "seabizvm1" and "seabizvm2" for backup. |
vCenter Equal "vCenterServer_1" AND Datacenter Equal "dc_A" AND ESXserver Equal "prod" AND VMHostName Contains "manu" | This query is very specific. Virtual machines with the host names that contain "manu" are included in the backup only if: they reside in vCenter server "vCenterServer_1", datacenter "dc_A", and ESX server "prod". The virtual machines that do not reside in that hierarchy are not included. For example: if a virtual machine resides in "vCenterServer_1" and datacenter "dc_A", but not in ESX server "prod", that virtual machine is not included. |
vCenter Equal "vCenterServer_1" OR Datacenter Equal "dc_A" OR ESXserver Equal "prod" OR VMHostName Contains "manu" | This query uses the same keywords and values, but combines them with OR. The result may be a much larger list of virtual machines. A virtual machine that meets any of these rules is included:
|