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);
去掉查询重复的