版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
数据库专栏收录该内容
16 篇文章0 订阅
订阅专栏

一、语法:

SELECT MAX (column_name) / MIN (column_name) FROM table_name

二、 MAX()函数的使用

1、查询TEACHER表中教师的最大年龄。实例代码:
SELECT MAX (AGE) AS MAX_AGE FROM TEACHER
这样只能查出来一个最大值,不能查出教师的ID,NAME等其他信息。
2、想改进?SQL不支持如下的SELECT语句。
SELECT ID, NAME, SEX, MAX (AGE) FROM TEACHER
因为max()函数属于聚合函数,处理的是组数据,在本例中,MAX函数将整个TEACHER表看成一组,而TNAME、DNAME和TSEX的数据都没有进行任何分组,因此SELECT语句没有逻辑意义。
3、下面的代码也是无效的。
SELECT ID,NAME, SEX,SAL ,AGE FROM TEACHER WHERE AGE=MAX (AGE)
解决这个问题的方法,就是在WHERE子句中使用子查询来返回最大值,然后再基于这个返回的最大值,查询相关信息。
4、在WHERE子句中使用子查询返回最大值
查询TEACHER表中年纪最大的教师的教工号、姓名、性别等信息。
实例代码:
SELECT ID,NAME, SEX, SAL, AGE FROM TEACHER WHERE AGE=(SELECT MAX (AGE) FROM TEACHER)
注意
确定列中的最大值(最小值)时,MAX( )(MIN( ))函数忽略NULL值。但是,如果在该列中,所有行的值都是NULL,则MAX( )/MIN( )函数将返回NULL值。