除了一个表之外,我如何获得表的所有列

时间:2009-12-15 06:06:18

标签: sql

假设我们在表中有20列,我想返回其中的19列。 我怎样才能做到这一点 ?

  

选择*

会给我所有这些,但我只想要19岁。

这种情况有没有好的解决方案?

之类的东西
  

选择* - [columnName]

?!

3 个答案:

答案 0 :(得分:8)

不,抱歉。您可以选择*,或者您可以一次取一个,但除了X,Y或Z之外,您不能取“所有这些。”

答案 1 :(得分:5)

如前所述,您对所有列使用SELECT *或单独列出列,如果您不想全部列。

列表确实看起来像是一件苦差事,但有一个重要的原因,它实际上是好的。

虽然对于即席查询是可以的,但强烈建议在代码中不使用SELECT *,因为当数据库架构发生更改时,返回到应用程序的结果中会出现不同的列,这几乎肯定不会你想要什么。如果你可以select * but address from customer这会遇到同样的问题:更改数据库会改变查询结果的结构,这是不好的。

因此,你不仅不能这样做,我建议你不要这样做。

答案 2 :(得分:2)

您可以明确命名要选择的每个列。这是排除列的唯一方法。