1.从用途上讲排序
它们都具备去重的效果io
2.从效率上讲效率
distinct一般不建议使用,效率较低;union all 和union 而言,union all效率更高;缘由是:union 至关于多表查询出的数据进行去重而后再进行排序后返回,而union all是多表查询合并去重后就直接返回nio
3.从单表仍是多表上讲数据
单表上有重复记录只能使用distinct,多表查询建议用union all查询