2017-07-06 42 views
0

我有有'' as <alias>多次,例如查询:''作为<alias>做什么?

SELECT -- ... 
'' as first_name, 
'' as last_name, 
'' as email_address 
-- ... 

这似乎只与空值返回列。

这个查询是否有其他副作用?

该查询是旧的,我相信有客户期待这些领域(空或不)。

这是否会导致任何开销,我会更好地在Java中处理? 有没有更好的方法来返回空列没有这个不直观的条款?

+1

用标题信息从字面上选择空值。 – Adam

+0

对于那些一直在使用SQL有足够时间的人来说,这是相当直观的......在工会中这是一个常见的事情,只有一些union子句返回那些列中的真实数据。如果您有几个应该都返回相同结果集结构的替代查询,那么也很常见。 – RealSkeptic

+0

说真的,这在每个SQL参考文献中都有详细记录。你用哪个参考文献没有回答这个问题? –

回答

2

你是对的,它是一个占位符,使列出现在输出中。这对查询没有其他影响。

这将造成的唯一的开销就是通过网络将额外列数据传输到Java进程的成本。但是,由于它们是空白的字符串,除非你正在谈论100M行,否则它将变得微不足道。

如果要确认它不会导致数据库开销,请使用MySQL EXPLAIN功能详细说明查询的成本。