SELECT *,FUNCTION1(),FUNCTION(2)FROM

时间:2014-07-27 15:59:47

标签: mysql sql

有没有办法可以查询MySQL中的所有列,以便我可以模拟这个查询

SELECT *, FUNCTION1(), FUCTION2() FROM table1;

而不必枚举select子句中的每一列?

我想要实现的是消除枚举查询所需的所有列的繁琐任务,然后我将添加几个列以包含在结果集中。

可能看起来像:

SELECT *,col2 + col5 + col7 AS“sum”,CONCAT(col1,“”,col3)FROM table1;

1 个答案:

答案 0 :(得分:2)

是的,您可以完全按照自己的方式展示。

选择列表中的术语可以是:

  • 一栏
  • 表达
  • 通配符(*
  • 合格的通配符(例如table1.*

您可以在同一个SELECT查询中使用任何或所有这些。

严格地说,SQL-99标准不允许*与select-list中的其他术语一起使用,但在这种情况下您可以使用合格的通配符。但MySQL更宽松,它不像这种情况的标准那么严格。

https://mariadb.com/kb/en/sql-99-complete-really/29-simple-search-conditions/select-statement/显示标准规则。

http://dev.mysql.com/doc/refman/5.6/en/select.html记录了MySQL的行为。它说“在选择列表中使用不合格的*和其他项可能会产生解析错误。要避免此问题,请使用合格的tbl_name.*引用。”但根据我的经验,这很好。