操作方法
首先我们可以从字面的意思去理解,all的英文意思就是全部的,distinct就是不同的意思。其实这刚好是这两个单词的区别。
其实这两个关键字都是Sql对查询结果相同行的处理方式。 其中ALL返回所有行,DISTINCT返回所有不重复行。
例子如下:我们看我们的基表(还没有做Sql语句操作的原始表)STUDENT。 本表有5个字段,共20行数据,其中第18行和第20行数据重复。
然后用ALL查询,查询语句:SELECT ALL * FROM STUDENT 其中,*表示返回每一列,STUDENT是查询的基表,查询结果如下,所有数据都显示了。
注意:这里的ALL是数据库对相同行的默认处理方式,可以省略。 所以 SELECT ALL * FROM STUDENT 和 SELECT * FROM STUDENT 是等价的
用distinct的处理结果如下: SELECT DISTINCT * FROM STUDENT
大家可以发现,这条重复的记录,在查询结果中只出现了一次。