【和SQL对比】游离记录对象
员工张三的年龄,张三比李四大几岁,比王五早入职几天?
SQL解法
张三的年龄
select 年龄 from 员工表 where 姓名='张三'
张三比李四大几岁
select (select 年龄 from 员工表 where 姓名='张三') -
(select 年龄 from 员工表 where 姓名='李四')
from dual
比王五早入职几天
select (select 年龄 from 员工表 where 姓名='王五') -
(select 年龄 from 员工表 where 姓名='张三')
from dual
SQL计算不分步,无法引用已有的计算结果,需要将被引用语句重抄一遍。
SPL解法
| A | B | |
| 1 | =demo.query(“select * from 员工表”) | |
| 2 | =A1.select@1(姓名:"张三") | =A2.年龄 |
| 3 | =A1.select@1(姓名:"李四") | =B2-A3.年龄 |
| 4 | =A1.select@1(姓名:"王五") | =interval(B2,A4.年龄) |
SPL支持游离记录用作变量值,可以充分利用中间结果。
