通过使用DECODE函数,您可以在一个查询中高效地计算不同部门的数据。示例:

SELECT COUNT(), SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE 'SMITH%';

SELECT COUNT(), SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENAME LIKE 'SMITH%';

通过DECODE函数,您可以将以上查询合并为一个更高效的查询:

SELECT COUNT(DECODE(DEPT_NO, 0020, 'X', NULL)) D0020_COUNT, COUNT(DECODE(DEPT_NO, 0030, 'X', NULL)) D0030_COUNT, SUM(DECODE(DEPT_NO, 0020, SAL, NULL)) D0020_SAL, SUM(DECODE(DEPT_NO, 0030, SAL, NULL)) D0030_SAL FROM EMP WHERE ENAME LIKE 'SMITH%';

使用DECODE能够减少数据库的I/O操作并提高查询的执行效率。