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