oracle Sql执行顺序请教

oracle中这样的一个查询

select * from
(
select * from table_A t --------- 1
where t.id = 'xxx'
and t.name = 'xxx'
) t_sub
where t_sub.col1 = 'xxx' ------------2
and t_sub.col2 = 'yyyy'

是子查询1 先执行 还是 where条件2 先执行?

4个回答

嗯 看第二个还算符合子查询的写法。
这个就是后执行2.

先1后2,不把1执行完弄出 t_sub,怎么执行2

应该是先执行子查询,然后再走where条件查询

这个不叫子查询。
你这个得先构建虚拟表t_sub,当t_sub表构建成以后再从构建后的表中安你的第二个的where 条件来查询。
给我感觉你的写的麻烦了,不知道你要实现什么功能。
没必要在一个表的基础上去构建虚拟表,因为你查的不是多表。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问