Sparce data
FHIRPath yields an empty collection for an expression that doesn't match any values. FQL keeps data sparcely. So if an expression produces no value, there will be no node added to the row. Equally, if multiple values are returned, a repeating element (or an array in JSON) will be added to the row.
If an FHIR expression returns no values for any of the rows, there won't be a resulting column.
from Patient
select
id,
name.given,
cat,
name.dog
The resulting table will only contain columns for id
and for name.given
id | given |