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