这个嵌套子查询会执行多少次?
SELECT CID, CNAME
FROM CUSTOMER
WHERE EXISTS ( SELECT CID
FROM RENTALS
WHERE CUSTOMER.CID = RENTALS.CID
AND PICKUP = 'CARY' )
这是一个理论问题,即在我的书中找到的。提供的答案是6,但我不明白为什么会这样。
好吧,我觉得这本书本身就有问题。我会读完这本书,也许稍后再问问题。
没有正确的理论的回答这个问题。智能查询优化器可以将查询转换为 JOIN:
SELECT CID, CNAME
FROM Customer
LEFT JOIN (SELECT DISTINCT CID FROM Rentals WHERE PICKUP = 'CARY') as Rentals
ON Customer.CID = Rentals.CID
WHERE Rentals.CID IS NOT NULL
现在子查询只执行一次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)