假设我们在表中有20列,我想返回其中的19列。 我怎样才能做到这一点 ?
选择*
会给我所有这些,但我只想要19岁。
这种情况有没有好的解决方案?
之类的东西选择* - [columnName]
?!
答案 0 :(得分:8)
不,抱歉。您可以选择*
,或者您可以一次取一个,但除了X,Y或Z之外,您不能取“所有这些。”
答案 1 :(得分:5)
如前所述,您对所有列使用SELECT *
或单独列出列,如果您不想全部列。
列表确实看起来像是一件苦差事,但有一个重要的原因,它实际上是好的。
虽然对于即席查询是可以的,但强烈建议在代码中不使用SELECT *
,因为当数据库架构发生更改时,返回到应用程序的结果中会出现不同的列,这几乎肯定不会你想要什么。如果你可以select * but address from customer
这会遇到同样的问题:更改数据库会改变查询结果的结构,这是不好的。
因此,你不仅不能这样做,我建议你不要这样做。
答案 2 :(得分:2)
您可以明确命名要选择的每个列。这是排除列的唯一方法。