是否可以在sql SELECT
语句中“重用”sql参数?
与此伪代码类似:
<DEFINE> city as c, destination as d
SELECT c, d FROM thetable t INNER JOIN(SELECT c FROM...) etc
(所以每个参数必须只显示一次)?
答案 0 :(得分:1)
大多数数据库都支持公用表表达式,但您将其表达为:
with t as (
select city as c, destination as d
from thetable
)
select c, d
from t;
这可能不符合您的要求。公用表表达式实际上是子查询,在子查询中,您可以使用较短的名称。但是,它不会影响表中的列名,除非您包含更多CTE。
此外,CTE可能会在某些数据库中产生性能影响。有些数据库实际上实现了它们,创建了中间表,这可能会影响性能。其他数据库对其进行了优化。
答案 1 :(得分:0)
可以在postgres中使用common table expressions。据我所知,例如在mysql中是不可能的。不同的数据库管理系统可能与sql标准的兼容性不同。