MySQL高级查询

一,数据查询排序:

select id,name,age from lx order by age desc;
查询编号,姓名,年龄,并按照年龄降序

desc降序 asc升序

二,分组查询:
select id,name,sex,SUM(grade) from lx group by name;
查询成绩总和分组显示id,名字,性别,成绩

having与分组查询相搭配

对比
where子句从数据源中去掉不符合其搜索条件的数据

group by子句搜集数据行到各个组中,统计函数为各个组计算统计值

having子句去掉不符合其组搜索条件的各组数据行

顺序where—>group by—>having

三,检测查询:

select distinct age from lx a where not exists(select a.age from lx b,lx a where a.age<b.age);查询年龄最大的

exists子句成立则执行外侧查询,若exists字句不成立则不执行外则查询

去重:
select distinct age,name from lx where age not in(select a.age from lx a,lx b where a.age<b.age);

select distinct age from lx a where not exists(select a.age from lx b,lx a where a.age<b.age);

去掉查询重复的

MySQL高级查询