sql – 如何重用大型查询而不重复它?
发布时间:2021-03-18 10:12:08 所属栏目: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 – ‘SELECT TOP’性能问题
- sql – 从父表和子表中删除行
- sql-server – 两个日期列的SARGable WHERE子句
- Sql Anywhere 11:恢复增量备份失败
- sql-server – 如何将主键设为AUTOINCREMENT
- sql-server – 如何取回一些已删除的记录?
- dns-prefetch是什么 前端优化:DNS预解析提升页面速度
- sql-server – 为什么我需要两个SQL Server Service Broker
- sql-server – 为什么在我的测试用例中,顺序GUID键的执行速
- sql – 如何组合来自两个存储过程调用的结果集?
站长推荐
- sql-server – 如何将SQL Server死锁报告中的密钥
- sql-server – 可以在一台SQL服务器上放置的数据
- sql-server – 我可以在存储过程中设置默认架构吗
- sql-server – SSD(Raid 1)vs SAS(Raid 10)Sql S
- 数据库设计 – 在SQL中实现与多个参与约束的多对
- sql-server – 为什么UNIQUE约束只允许一个NULL?
- sql-server-2008-r2 – 将SQL Server 2008 R2表/
- sql过滤索引怎样提高查询性能?
- sql-server – 我有关于死锁的数据,但我无法理解
- sql-server – uncoditioned Count(*)vs System表
热点阅读