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

Ere*_*rez 1 sql

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

选择*

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

那种情况有一个很好的解决方案吗?就像是

选择* - [columnName]

?!?

mqp*_*mqp 8

不,谢谢.你可以采取*,或者你可以一次采取一个,但你不能采取"除了X,Y或Z之外的所有这些."


Dav*_*ebb 5

如前所述,SELECT *如果您不想要所有列,则可以单独使用所有列或列出列.

列表列似乎是一件苦差事,但有一个重要的原因,它实际上是好的.

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

因此,你不仅可以不这样做,我建议你不要这样做.