web/book/src/reference/stdlib/transforms/append.md
Concatenates two tables together.
Equivalent to UNION ALL in SQL. The number of rows is always the sum of the
number of rows from the two input tables. To replicate UNION DISTINCT, see
set operations.
from employees_1
append employees_2
experimental
Removes rows that appear in another relation, like EXCEPT ALL. Duplicate rows
are removed one-for-one.
from employees_1
remove employees_2
experimental
from employees_1
intersect employees_2
experimental
To imitate set operations i.e. (UNION, EXCEPT and INTERSECT), you can use
the following functions:
let distinct = rel -> (from t = _param.rel | group {t.*} (take 1))
let union = `default_db.bottom` top -> (top | append bottom | distinct)
let except = `default_db.bottom` top -> (top | distinct | remove bottom)
let intersect_distinct = `default_db.bottom` top -> (top | intersect bottom | distinct)
Don't mind the default_db. and noop, these are compiler implementation
detail for now.