您现在的位置是:首页 > 文章详情

Oracle存储过程迁移ODPS-03(专有云):ODPS1.0支持exists语法

日期:2018-12-23点击:611
专有云目前还有不少ODPS1.0版本,主要是应对V3之前的平台版本。这个版本的ODPS不支持exists语法,如何换种写法实现。
-- ODPS1.0 如何实现 exists 语法 -- oracle select col1,col2,col3,col4 from (select t1.col1,t1.col2,t2.col3,t2.col4 from table1 t1 INNER JOIN table2 t2 ON t1.col1 = t2.col1 WHERE (t2.col3 between '14400000000' and '14499000000') and (NOT EXISTS (SELECT 1 FROM table3 t3 WHERE t1.col2 = t3.col2 AND GREATEST(t3.col5,t3.col6,t3.col7) <= sysdate() AND GREATEST(t3.col5,t3.col6,t3.col7) >= sysdate() - interval '1095' day))) foo group by col1 order by col1; -- odps select col1,col2,col3,col4 from (select t1.col1,t1.col2,t2.col3,t2.col4 from table1 t1 inner join table2 t2 ON t1.col1 = t2.col1 left outer join( SELECT col2 FROM table3 t3 WHERE GREATEST(t3.col5,t3.col6,t3.col7) <= getdate() AND GREATEST(t3.col5,t3.col6,t3.col7) >= getdate() - 1095) t3 ON t1.col2 = t3.col2 WHERE (t2.col3 >= '14400000000' and t2.col3 <='14499000000') and t3.col2 is null ) foo group by col1 order by col1; -- 暮角 15901445705 update at 20181224
exists写法在oracle上其实就是可用,可不用的写法。主要是使用exists语法的查询效率高于JOIN,所以,很多人在使用。
原文链接:https://yq.aliyun.com/articles/681939
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章