在Oracle中,可以使用子查询和连接来实现不使用UNION运算符进行按列求和的查询。以下是一个示例:
假设有一个名为employees的表,包含以下列:id、name和salary。
SELECT
(SELECT SUM(salary) FROM employees WHERE id = 1) AS sum1,
(SELECT SUM(salary) FROM employees WHERE id = 2) AS sum2,
(SELECT SUM(salary) FROM employees WHERE id = 3) AS sum3
FROM dual;
在这个示例中,我们使用三个子查询来分别计算id为1、2和3的员工的薪水总和。每个子查询都使用了一个WHERE子句来过滤出特定的员工。最后,将结果作为别名sum1、sum2和sum3返回。
注意:这种方法在需要计算多个列的总和时会变得冗长和繁琐。在这种情况下,使用UNION运算符可能更简单和高效。