sql – 如何重用大型查询而不重复它?
发布时间:2021-03-18 19:31:25 所属栏目:MsSql教程 来源:网络整理
导读:如果我有两个查询,我将调用horrible_query_1和ugly_query_2,并且我想对它们执行以下两个减号操作: (horrible_query_1) minus (ugly_query_2)(ugly_query_2) minus (horrible_query_1) 或者我可能有一个terribly_large_and_useful_query,它产生的结果集我想用
如果我有两个查询,我将调用horrible_query_1和ugly_query_2,并且我想对它们执行以下两个减号操作: (horrible_query_1) minus (ugly_query_2) (ugly_query_2) minus (horrible_query_1) 或者我可能有一个terribly_large_and_useful_query,它产生的结果集我想用作未来几个查询的一部分. 如何避免在多个位置复制和粘贴相同的查询?我怎么能“不重复自己”,并遵循DRY原则.这在SQL中是否可行? 我正在使用Oracle SQL.便携式SQL解决方案是首选,但如果我必须使用Oracle特定功能(包括PL / SQL),那就没问题. 解决方法create view horrible_query_1_VIEW as select .. ... from .. .. .. create view ugly_query_2_VIEW as select .. ... from .. .. .. 然后 (horrible_query_1_VIEW) minus (ugly_query_2_VIEW) (ugly_query_2_VIEW) minus (horrible_query_1_VIEW) 或者,也许,使用with子句: with horrible_query_1 as ( select .. .. .. from .. .. .. ),ugly_query_2 as ( select .. .. .. .. .. .. ) (select * from horrible_query_1 minus select * from ugly_query_2 ) union all (select * from ugly_query_2 minus select * from horrible_query_1) (编辑:应用网_常德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 从.NET可以获得由SqlCommand对象生成的完整S
- SQL Azure备份和还原策略
- sql – dba_jobs_running:尝试从过程访问时,表或视图不存在
- sql-server – 如何获取SQL Server表中每行的实际数据大小?
- sql – 如何在单词中显示数字值
- sql – NATURAL(JOIN)在生产环境中被认为是有害的吗?
- sql-server – 在表上插入,删除和更新的SQL Server触发器
- 数据库 – CakePHP如何通过ID数组获取多行
- mssql中得到指定日期所在月份的第一天的代码
- sql-server – SQL Server代理作业和可用性组
站长推荐
热点阅读