当前位置: 代码迷 >> Sql Server >> 子查询能查询多次吗
  详细解决方案

子查询能查询多次吗

热度:66   发布时间:2016-04-25 00:14:21.0
子查询会查询多次吗?
Select A From ATable Where ABID IN ( Select BID From BTable Where BCID IN ( Select CID From CTable Where C Like '%%' ) )

这个语句中的"ABID IN ( Select BID From BTable Where BCID IN ( Select CID From CTable Where C Like '%%' ) )"会执行一次还是会根据A中的数量执行多次?

我现在有3个表是这样的。


查询A表数据,

其中一个条件是C表的

A表和B表有关联

B表和C表有关联
Select A From ATable Where ABID IN ( Select BID From BTable Where BCID IN ( Select CID From CTable Where C Like '%%' ) )

感觉这样效率有点低。

用表联合或者Exists会不会好些?
------解决方案--------------------
应该是先执行结果集,再执行查询的
即是先Select CID From CTable Where C Like '%%' 
    再Select BID From BTable Where BCID IN (---)
    最后Select A From ATable Where ABID IN (---)
------解决方案--------------------
引用:
应该是先执行结果集,再执行查询的
即是先Select CID From CTable Where C Like '%%' 
    再Select BID From BTable Where BCID IN (---)
    最后Select A From ATable Where ABID IN (---)


+1
  相关解决方案