==== ---- QUERY # Basic test on querying a view. select count(int_col), count(bigint_col) from functional.alltypes_view ---- RESULTS 7300,7300 ---- TYPES BIGINT, BIGINT ==== ---- QUERY # Using views in union. select bigint_col, string_col from functional.alltypes_view order by id limit 2 union all (select * from functional.complex_view) order by 1, 2 limit 10 ---- RESULTS 0,'0' 2,'0' 2,'1' 10,'1' ---- TYPES BIGINT, STRING ==== ---- QUERY # Using a view in subquery. select t.* from (select * from functional.complex_view) t order by t.abc limit 10; ---- RESULTS 2,'1' 2,'0' ---- TYPES BIGINT, STRING ==== ---- QUERY # Using multiple views in a join. select count(*) from functional.alltypes_view t1, functional.alltypes_view_sub t2 where t1.id < 10 and t2.x < 5 and t1.id = t2.x ---- RESULTS 3650 ---- TYPES BIGINT ==== ---- QUERY # Self-join of a view to make sure the join op is properly set # in the cloned view instances. select count(*) from functional.alltypes_view t1 left outer join functional.alltypes_view t2 on t1.id+10 = t2.id full outer join functional.alltypes_view t3 on t2.id+20 = t3.id ---- RESULTS 7330 ---- TYPES BIGINT ====