我想使用select *来选择表中的所有字段,但我也想在一个字段上使用别名。可能吗?如果是这样,语法是什么。
实施例
select *,
item1 as hats
from factory
我无法做出类似这样的工作,谢谢!
答案 0 :(得分:16)
我刚试过
select *, item1 as hats from factory
在mysql和postgres以及两个DBMS上运行正常。只考虑使用item1获得两列。一列名为item1,另一列名为hats。
答案 1 :(得分:2)
是的,可以使用该格式,但不建议使用Select *
。最好枚举所需的列。如果与您的别名列组合的列列表产生重复的列名,则某些数据库产品可能会犹豫不决。但是,您可以通过枚举列来解决此问题。
答案 2 :(得分:2)
这应该可行,但请记住,您的item1列将重复!
假设你的表有列(id,item1,item2),那么你建议的select将返回(id,item1,item2,hats)。
答案 3 :(得分:2)
它在MS Sql Server
中也有效,但是你别名的列将被复制。
在Sql server 2005中尝试了查询,但确实有效。
select *,col2 as 'customcol' from table1