【问题标题】:Is there a difference between SELECT * and SELECT ALL?SELECT * 和 SELECT ALL 之间有区别吗?
【发布时间】:2015-09-10 18:42:49
【问题描述】:

基本上就是这样。我想知道是否有人会使用ALL 而不是*,因为我正在构建自动化的SELECT 查询。目前,如果有人想选择所有内容,查询将只使用*

【问题讨论】:

  • @PaulF:- 您提供的链接是比较中的 ALL 关键字,而不是 SELECT
  • 这是 SELECT 命令的 MySQL 文档 - 我只是认为 OP 应该检查它作为理解 ALL 关键字的起点。

标签: mysql sql performance select


【解决方案1】:

SELECT ALL 表示所有行,即包括重复行。 (相反的是SELECT DISTINCT,删除了重复的行。)ALL 是默认设置,大多数人只写SELECT 而不是SELECT ALL

SELECT * 表示所有列。

注意: UNION 突然DISTINCT 是默认值。所以只是UNION 表示UNION DISTINCT,即删除重复的行。在这里您必须指定UNION ALL 以保留重复行。

【讨论】:

  • 当你使用 SELECT DISTINCT 时,你必须使用 SELECT ALL 和 *
  • 所以ALL 只是默认值?我必须承认我从未见过它。
  • 是的,按照 Order By Clause,ALL 是默认的,ASC 是默认的
  • 知道了。所以我只提供ALL 作为参数,就像我对DISTINCT 所做的那样。谢谢。
  • @stack ---是的..我感觉如此
猜你喜欢
  • 2016-12-23
  • 2010-09-17
  • 1970-01-01
  • 2017-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-07
相关资源
最近更新 更多