子查询会查询多次吗?Select A From ATable Where ABID IN ( Select BID From BTable Where BCID IN ( Sele
子查询会查询多次吗?
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 (---)
[解决办法]
+1
