SQL求最大值的几种方式 您所在的位置:网站首页 if语句求最大值最小值怎么写 SQL求最大值的几种方式

SQL求最大值的几种方式

2024-07-03 10:13| 来源: 网络整理| 查看: 265

有表如下:

create table students (sno int, sname varchar(10), age int); insert into students values(1,'AARON',20); insert into students values(2,'CHUCK',21); insert into students values(3,'DOUG',20); insert into students values(4,'MAGGIE',19); insert into students values(5,'STEVE',22); insert into students values(6,'JING',18); insert into students values(7,'BRIAN',21); insert into students values(8,'KAY',20); insert into students values(9,'GILLIAN',20); insert into students values(10,'CHAD',21);

 

求年龄最大的学生?

 

方式一,我的第一反应是使用聚焦函数max,相信很多人和我一样。

select * from students where age=(select max(age) from students);

 简单明了,两次全表扫描,成本6

 

方式二,有没有不使用max的方法来求最大呢?使用自连接加比较。

select * from students where age not in (select a.age from students a, students b where a.age< b.age);

 先做笛卡尔集,求年龄比任一个小的,再排除他们。三次全表扫描,成本12

 

方式二的改良

select * from students s1 where not exists (select 1 from students s2 where s1.age


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有