Oracle 查询连接逗号分隔的列值

Oracle query to concat comma separated column values

我有一个 table 员工有姓名、年龄、部门列。

我需要一个生成输出的查询,其中 Name 、 Age 、 Department 的值以逗号分隔。

查询输出应如下所示:

ABC,23,Science
XYZ,34,Bio
QQQ,22,Account

我没有使用存储过程。

我在 Internet 上搜索并找到了 concat 函数,但看起来它不适用于多个列。考虑到我在 table 中有 1-5 百万条记录,所以请帮助考虑,因此也需要查看性能点。

CONCAT 在这种情况下 表现不佳 因为您必须嵌套多个函数。但是,好的,旧的双管道连接运算符 || 工作得很好:

SQL> select ename ||','|| sal ||','|| job result
  2  from emp
  3  where rownum < 5;

RESULT
---------------------------------------------------
SMITH,1000,CLERK
ALLEN,1600,SALESMAN
WARD,1250,SALESMAN
JONES,2975,MANAGER

SQL>