通过子查询去掉DISTINCT关键字
SELECT DISTINCT P.name, P.salary
FROM Products P1, Products P2
WHERE P1.id <> P2.id
AND P1.salary = P2.salary
改造后:
SELECT P.name, P.salary
FROM Products P
WHERE P.id IN (SELECT P1.id
FROM Products P1, Products P2
WHERE P1.id <> P2.id
AND P1.salary = P2.salary)
使用子查询的主要优点是代码更清晰、更易于理解。当查询变得复杂时,子查询可以将逻辑划分为更小的、更易于管理的部分。然而,这并不一定意味着子查询的性能会更好。实际上,在某些情况下,使用DISTINCT可能更有效率。