Skip to main content
Version: 1.0.0

Filtering

where keeps only rows that match a condition:

select {id, total}
from 'orders.json'
where status = 'paid'

Filtering happens after joins and before grouping or projection.

Combine conditions

Use and when both conditions must match:

where status = 'paid' and total >= 100

Use or when either condition may match:

where status = 'paid' or status = 'shipped'

Precedence

and is evaluated before or:

a = 1 or b = 2 and c = 3

This means the same as:

a = 1 or (b = 2 and c = 3)

Use parentheses whenever they make the intended condition clearer:

where (status = 'paid' or status = 'shipped') and total >= 100

JQL short-circuits logical conditions. Once the left side determines the answer, the right side is not evaluated.

See Comparisons for every operator available inside a condition.