1 oracle
当我执行此查询时:
select 2+2, 2+2, 2+2 from dual;
Run Code Online (Sandbox Code Playgroud)
我得到多列,但根据定义,dual只有一行和一列。那么背后的原因是什么呢?
表中的列数与SELECT语句投影中的列数无关。您始终可以向投影添加额外的计算列(至少实际上……理论上,您最终可能会遇到某种逻辑限制)。
您在dual此处查询的事实无关紧要。您可以对任何表执行完全相同的操作。此查询中的投影
SELECT e.*, 2+2 computed_one, 2+3 computed_two, 2+4 computed_three
FROM emp e
Run Code Online (Sandbox Code Playgroud)
回报中的所有列emp的表与另外三个计算列一起computed_one,computed_two和computed_three。dual当您希望结果只有一行时,总是只有一行这一事实非常有用,但除此之外,无论您使用dual还是您自己创建的单行单列表,在逻辑上都没有区别。
| 归档时间: |
|
| 查看次数: |
5704 次 |
| 最近记录: |