是的,没有:-)
SQL本身并不关心列的排列顺序,但是,如果要使用的话:
select age, name, sex from ...
您会发现它们可能按此顺序出现(尽管我不确定SQL标准是否要求这样做)。
现在您可能 不想 这样做,但有时生活不公平:-)
您还可以使用DBMS数据定义表动态构建查询。这是不可移植的,但是大多数DBMS都提供了这些表(例如DB /
2的表
SYSIBM.SYSCOLUMNS),您可以从那里以有序的方式选择列名。就像是:
select column_name from sysibm.syscolumnswhere owner = 'pax' and table_name = 'movies'order by column_name;
然后你使用的结果 是 查询构建真正的查询:
query1 = "select column_name from sysibm.syscolumns" + " where owner = 'pax' and table_name = 'movies'" + " order by column_name"rs = exec(query1)query2 = "select"sep = " "foreach colm in rs: query2 += sep + colm["column_name"] sep = ", "query2 += " from movies order by rating"rs = exec(query2)// Now you have the rs recordset with sorted columns.
但是,您确实应该认真检查所有选择的查询
*-在大多数情况下,这是不必要且效率低下的。数据的呈现应该由呈现层来完成,而不是DBMS本身-
应该让DBMS以尽可能有效的方式返回数据。



