【发布时间】:2014-02-24 00:33:07
【问题描述】:
我怎样才能让这个 SQL 语句更小,比如只在某个地方使用一次 WHERE,以更快地获得结果?谢谢!
SELECT p.model, pc.price FROM Product AS p
JOIN PC AS pc
ON pc.model = p.model
WHERE p.maker='B'
UNION
SELECT p.model, lp.price FROM Product AS p
JOIN Laptop AS lp
ON p.model = lp.model
WHERE p.maker='B'
UNION
SELECT p.model, pr.price FROM Product AS p
JOIN Printer AS pr
ON p.model = pr.model
WHERE p.maker='B'
编辑:我希望它更快。
【问题讨论】:
-
非常容易阅读。为什么要改变它?
-
我教过也许有更好/更快的方法来获得结果。
-
除了规范化为单个产品表并具有指定类型的标识符...
-
压缩代码 更快的结果
-
您可以通过将每个
union替换为union all来加快速度。