Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Using disjunctions in complex queries

ServiceNow performs conjunction (AND) statements before disjunction (OR) statements in a query.

When you create a complex query that combines AND and OR conditions, you must use parenthesis around disjunctions to ensure proper grouping of query elements.

Example

Find all closed incidents (state = 6) that are either Priority 1 or Priority 2.

  • Correct query (with parentheses):

    (priority = 1 || priority = 2) && state = 6
    

    This query returns all closed incidents where the priority is 1 OR 2.

  • Incorrect query (without parentheses):

    priority = 1 || priority = 2 && state = 6
    

    Without parentheses, this query is evaluated as: priority = 1 OR (priority = 2 AND state = 6). This returns ALL Priority 1 incidents regardless of state, plus only the closed Priority 2 incidents.

QueryEvaluated asResult
(priority = 1 || priority = 2) && state = 6
\(P1 OR P2\) AND ClosedClosed P1 and P2 incidents only
priority = 1 || priority = 2 && state = 6
P1 OR \(P2 AND Closed\)ALL P1 incidents + only closed P2

Always use parentheses around OR conditions when combining them with AND conditions. This ensures your query returns the expected results.

Parent Topic:Working with database views for reporting

Related topics

Joining tables using database views

Displaying function results in a database view

Database views in the base system