To edit an operator’s predicate, select the operator and click Predicate (Shift + P), or double-click it. The text can span one or more lines and appears next to the operator’s symbol on the canvas.
| Operator | Predicate | Example |
|---|---|---|
| Selection σ | A condition on the tuples | City = 'Turin' AND Age > 18 |
| Projection π | The attributes to include in the result | Code, Name |
| Theta join ⋈ | The condition used to match rows from the two inputs | Courses.ProfIdNumber = Professors.ProfIdNumber |
| Semi join, anti semi join ⋉ | As theta join | C.Code = E.Course |
Natural join, union, intersection, difference, division and the result node have no predicate. Operators that require a predicate are given a placeholder, such as p1, to be replaced with the appropriate condition.
Predicate text is not parsed: attribute names, comparison operators and constants can be entered freely.