请教联接与子查询的比较,哪个效率高,哪个功能强,如何根据情况选择用哪一种
--------------------------------------
有人说,子查询效率差,尽量不用。是这样吗?
子查询的功能,是不是一般用联接都可以实现呀,用联接是不是更好些呢?
--------------------------------------
有人说,子查询效率差,尽量不用。是这样吗?
子查询的功能,是不是一般用联接都可以实现呀,用联接是不是更好些呢?
SELECT Name
FROM AdventureWorks.Production.Product
WHERE ListPrice =
(SELECT ListPrice
FROM AdventureWorks.Production.Product
WHERE Name = 'Chainring Bolts' )/* SELECT statement built using a join that returns
the same result set. */
SELECT Prd1. Name
FROM AdventureWorks.Production.Product AS Prd1
JOIN AdventureWorks.Production.Product AS Prd2
ON (Prd1.ListPrice = Prd2.ListPrice)
WHERE Prd2. Name = 'Chainring Bolts'
当连接大表时,则合并连接可能是最佳选项,而非嵌套循环连接。唯一的明确这一点的方式是对两者都进行测试以查看哪一个最有效率。