1. A method, with a decoder, for decompressing results of a join query, the method comprising: receiving, from a result set encoder, a result set from the join query; receiving a plurality of encoded tuples associated with the result set, wherein each encoded tuple of the plurality of encoded tuples is received with a set of dictionary entry information, the set of dictionary entry information comprising a value from a dictionary entry generated by the result set encoder and a location within a set of nested hierarchy of dictionaries to store the value and wherein each value at each position in said each encoded tuple of the plurality of encoded tuples identifying a location of an entry within the set of nested hierarchy of dictionaries; determining a join order of the result set from the join query; creating the set of nested hierarchy of dictionaries based on the join order and the set of dictionary entry information, wherein a nesting order of the dictionaries in the set of nested hierarchy of dictionaries corresponds to the join order of the result set, and wherein the creating comprising storing the value comprised within the set of dictionary entry information at the location within a dictionary of the set of corresponding nested hierarchy of dictionaries as identified by the dictionary entry information; using, by a processor, the set of nested hierarchy of dictionaries and values from the set of dictionary entry information stored within the set of nested hierarchy of dictionaries to decode the plurality of encoded tuples so as to produce a plurality of decoded tuples of the result set, wherein each position in said each encoded tuple of the plurality of encoded tuples is associated with a table identifier within the set of nested hierarchy of dictionaries, each identifier of the table identifiers being associated with a different table used to create the result set; and decompressing the result set of the join query with the decoder.