Sql 选择带有特定别名的*[语法]

Sql 选择带有特定别名的*[语法],sql,Sql,我想使用select*从表中选择所有字段,但我还想在一个字段上使用别名。可能吗?如果是,语法是什么 范例 select *, item1 as hats from factory 我没能做像这样的工作,谢谢 是的,可以使用该格式,但是不建议使用Select*。最好是枚举所需的列。如果列列表与别名列组合生成重复的列名,某些数据库产品可能会犹豫。不过,您也可以通过枚举列来解决这个问题。我刚刚试过 select *, item1 as hats from factory 在mysql和postgr

我想使用select*从表中选择所有字段,但我还想在一个字段上使用别名。可能吗?如果是,语法是什么

范例

select *,
item1 as hats
from factory

我没能做像这样的工作,谢谢

是的,可以使用该格式,但是不建议使用
Select*
。最好是枚举所需的列。如果列列表与别名列组合生成重复的列名,某些数据库产品可能会犹豫。不过,您也可以通过枚举列来解决这个问题。

我刚刚试过

select *, item1 as hats from factory

在mysql和postgres上以及在这两个DBMS上运行良好。只需考虑到您会得到两列item1。一个名为item1的列和一个名为hats的列。

应该可以工作,但请记住,item1列将被复制


假设您的表中有列(id,item1,item2),那么建议的select将返回(id,item1,item2,hats)。

它在
MS Sql Server中也有效,但别名为'ng'的列将被复制。
在SQLServer2005中尝试了该查询,但确实有效

select *,col2 as 'customcol' from table1

您不需要命名所有字段。OP的声明也是有效的,至少在我所知道的所有SQL实现中,
从mytable中选择col1,col2作为mycol
。是否可以删除重复项?我不知道为什么它不工作我正在使用SQL server 2007,我想无论哪种方式现在都很好,谢谢!事实上,复制品并不重要,而且在事后看来,我的问题可能真的应该存在。你救了我的命!我不相信。。。因为在这种情况下我不理解。你有例子吗?@tylercomp“enumerate”=“列出列,而不是使用*”。也就是说,明确你想要的列,不要依赖*。哦,我一直认为它就像清单1,2,3,4,5一样,并得到前五列。。。但是我不认为我可以把它们列出来。。。太多而无法立即实施;伤害readability@tylercomp-Management studio中有获取列列表的捷径,但您可能应该问的问题是,为什么需要在一次调用中返回这么多列数据。