嗨,我有一个非常慢的 SQL。
select case when (value=1)
then (select <Some Math Logic> from table where table.id=table_2.id)
else 'false' end
from table_2 where <where clause>
我想知道的是case条款是如何工作的..??
该零件select <Some Math Logic> from table
正在处理巨大的桌子。
在 Java 中,我们看到 if 语句
if(condition_1==true)
{return output;}
else
{return false;}
如果 if 语句为假,那么它里面的部分永远不会被处理,那么我想知道的是它在 oracle SQL 中是否也相同。
它是否适用于以下逻辑..??
- 检查案例条件
- 如果为真,则处理内部输出
- else 处理其他输出。
还是采用以下逻辑:
- 预处理所有子查询
- 检查案例条件
- 如果为真,则显示在输出内部
- 否则显示其他输出。
请帮忙
编辑:伙计们,我不想调整上面显示的查询......这只是一个虚拟的。
我需要知道的是 case 条款是如何一步一步地工作的。
如果有人对此有一些意见,请分享