blob: 2fae0ae2461f3fee46ddc93f04844d8c53f01dd2 [file] [log] [blame]
--! qt:dataset:src
set hive.mapred.mode=nonstrict;
-- SORT_QUERY_RESULTS
-- exists test
create view cv1 as
select *
from src b
where exists
(select a.key
from src a
where b.value = a.value and a.key = b.key and a.value > 'val_9')
;
describe extended cv1;
select *
from cv1 where cv1.key in (select key from cv1 c where c.key > '95');
;
-- not in test
create view cv2 as
select *
from src b
where b.key not in
(select a.key
from src a
where b.value = a.value and a.key = b.key and a.value > 'val_11'
)
;
describe extended cv2;
explain
select *
from cv2 where cv2.key in (select key from cv2 c where c.key < '11');
;
select *
from cv2 where cv2.key in (select key from cv2 c where c.key < '11');
;
-- in where + having
create view cv3 as
select key, value, count(*)
from src b
where b.key in (select key from src where src.key > '8')
group by key, value
having count(*) in (select count(*) from src s1 where s1.key > '9' group by s1.key )
;
describe extended cv3;
select * from cv3;
-- join of subquery views
select *
from cv3
where cv3.key in (select key from cv1);
drop table tc;
create table tc (`@d` int);
insert overwrite table tc select 1 from src limit 1;
drop view tcv;
create view tcv as select * from tc b where exists (select a.`@d` from tc a where b.`@d`=a.`@d`);
describe extended tcv;
select * from tcv;