2017-09-16 32 views
0

如果我在答案中使用子查询或嵌套查询,它仍然是单个SQL查询吗?什么是单个SQL查询?

+1

是的,它是一个单一的MySQL查询。 –

+1

@GiorgosBetsos:这也是一个单一的Postgres查询。或者一个Oracle查询。或者一个DB2查询。 –

回答

0

是的,因为虽然内部会执行许多查询,但查询会带出一个结果集。

0

我不认为术语“查询”在SQL中定义良好。通俗地说,它通常是指执行以返回结果集的SELECT语句。通过这个定义,子查询是单个查询的一部分。这往往是我会用的。

当使用基于集合的操作,有时人们参考以下两个查询:

select a.* from a 
union all 
select b.* from b; 

在我看来,那是与所述术语有点马虎。但我得到这个问题:这个“查询”有两个“选择语句”。

如果您考虑交易,它会变得更加复杂。如果您在单个事务中运行多个查询,那么它是一个“查询”还是更多?考虑:

begin transaction; 
    update a set x = 1 where . . . ; 
    update a set x = 2 where . . . ; 
commit transaction; 

这里真的很让人困惑。该交易有两个update报表,但这些报表只有在commit成功后才会生效。