Mysql union查询,联合查询


    将多个查询的结果,并列到一个结果集合内

wKiom1Zo5cbTZIsYAAAs7qbZ9O8581.jpg


上面的union查询也可以通过一条查询语句得到结果:

select count(*) from select_student where gender is not null group by gender;


 此时,获得所有男生,按身高升序排序;获得所有女生,按身高降序排序:

    需要先分别获得男生女生的身高排序:

wKiom1Zo6GXT6QgGAACRsdpGCFk961.jpg


再将两个结果联合起来:

注意:在union结果时,如果句子中出现了 order by ,则需要子句出现在小括号内

      此时,子句的 order by 也会在union的时候,会忽视掉,需要子句需要配合limit一起使用order by 


wKiom1Zo6XqCrOlKAAB1xAsUqNg273.jpg



union的连接的两个子句,不要求同表,只要求,列的数量要相同!


wKiom1Zo6jiRPpu0AAAzORU1wXs741.jpg


union会在联合时:主动去掉相同的记录:此时,可以使用all关键字,加以修正:


wKiom1Zo6taxycQeAABFRmY-pKE011.jpg



select 语句的选项:


    distinct,取消相同的记录

wKioL1Zo7TzSHPdWAABhbSNZk4w859.jpg