SELECT *和SELECT ALL之间有区别吗?

时间:2015-06-24 13:58:53

标签: mysql sql performance select

基本上这个。我想知道是否有人会使用ALL代替*,因为我正在构建自动化SELECT查询。目前,如果有人想要选择所有内容,则查询将仅使用*

1 个答案:

答案 0 :(得分:2)

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

SELECT *表示所有列。

注意:说到例如UNION突然DISTINCT是默认值。因此UNION仅表示UNION DISTINCT,即删除重复的行。在这里,您必须指定UNION ALL以保留重复的行。