A method for providing multilingual support in a data querying and processing environment, said method comprising: receiving a query to access a set of data stored in a base table, wherein the query is received during a session established for at least one user; determining from a session variable that a user language associated with said session is different from a base language used to store the set of data in said base table; and performing a join operation of the base table with at least one lookup table, wherein the lookup table includes at least one value column, which is the column containing the actual translation value of a column in the base table used to store the data, and a lookup key which is used to perform the lookup and provides a foreign key reference to records in the base table, and wherein said join operation yields a translated value for at least one row of the base table requested by the query, wherein said translated value is in the user language associated with said session; and wherein performing a join operation of the base table with at least one lookup table further comprises: determining whether the lookup table is a dense lookup table that contains translations for every record in the base table or a sparse lookup table that contains translations for only a subset of the records in the base table; and if the lookup table is a dense lookup table performing an inner join of the base table with the lookup table, and if the lookup table is a sparse lookup table performing an outer join of the base table with the lookup table, wherein the rows from the base table are preserved. receiving a query to access a set of data stored in a base table, wherein the query is received during a session established for at least one user; determining from a session variable that a user language associated with said session is different from a base language used to store the set of data in said base table; and performing a join operation of the base table with at least one lookup table, wherein the lookup table includes at least one value column, which is the column containing the actual translation value of a column in the base table used to store the data, and a lookup key which is used to perform the lookup and provides a foreign key reference to records in the base table, and wherein said join operation yields a translated value for at least one row of the base table requested by the query, wherein said translated value is in the user language associated with said session; and wherein performing a join operation of the base table with at least one lookup table further comprises: determining whether the lookup table is a dense lookup table that contains translations for every record in the base table or a sparse lookup table that contains translations for only a subset of the records in the base table; and if the lookup table is a dense lookup table performing an inner join of the base table with the lookup table, and if the lookup table is a sparse lookup table performing an outer join of the base table with the lookup table, wherein the rows from the base table are preserved. determining whether the lookup table is a dense lookup table that contains translations for every record in the base table or a sparse lookup table that contains translations for only a subset of the records in the base table; and if the lookup table is a dense lookup table performing an inner join of the base table with the lookup table, and if the lookup table is a sparse lookup table performing an outer join of the base table with the lookup table, wherein the rows from the base table are preserved.