0
クエリ1これらの2つのクエリのどちらが効率的か、または最も優れていますか?
SELECT m.Name, p.Name, p.Price
FROM Manufacturers m INNER JOIN Products p
ON m.Code = p.Manufacturer
WHERE p.Price IN (SELECT MAX(pp.Price) FROM Products pp GROUP BY pp.Manufacturer);
1は、少ない時間を取る必要があり、クエリ2
select m.Name as ManufName, p.Name as ProductName, p.Price as ProductPrice
from Manufacturers m inner join Products p
on m.Code = p.Manufacturer
where p.Price = (select max(sub_p.Price)
from Products sub_p
where m.Code = sub_p.Manufacturer);
?
時間のかかるものは何が見えないのですか? – mason
これらのクエリは同等ではありません。それらがあった場合、答えは使用しているSQLエンジンに依存します。 – mazaneicha
してください、私はデータの小さなセットでこれらのクエリを実行していたトロイの答えへのコメントを参照してください。私はそれがデータベースエンジンとテーブルの構成(インデックス...)に依存すると理解していますが、これらの2つのクエリが同じ列を使用しているのと同じですが、単純な広範な説明が必要なものであるとしても、 – pascalb