我在Oracle中编写SQL.在SQL中,我使用了两次相同的子查询.我正在尝试找到替换此类常见子查询或重用的查询的最佳方法.
我正在考虑为子查询创建一个视图,但我不允许这样做.全局临时表可能是其他解决方案,但我开始知道这些表并不是真正用于创建和丢弃的.
您可以使用视图或全局临时表,但使用WITH子句通常更好,例如:
WITH q AS
(SELECT something FROM mytable)
SELECT something FROM q
UNION ALL
SELECT something+1 FROM q;
Run Code Online (Sandbox Code Playgroud)