数据库内置一些函数,可以直接使用。

max 最大值

  1. 查找student中最高分数 score

    1. select max(score) from student;

    min 最小值

  2. 查询student表中 最小的分数

    1. select min(score) from student;

sum 总和

  1. 查询student表中分数的总和

    1. select sum(score) from student;

    avg 平均值

  2. 查询student表中的平均成绩

    1. select avg(score) from student;

count 数量

  1. 查询student中学生的个数
    1. select count(name) from student;

  1. 查询分数不为null 的学生个数; ```sql select count(*) from student where not score is null;

select count(name) as 总数 from student where not score is null;

select count(*) 总数 from student where not score is null;

  1. 2. 查询班级的学生平均年龄(不包含 null);
  2. ```sql
  3. select avg(age) 平均年龄 from student
  1. 查询分数大于平均成绩(score)的学生信息(不包含null);

数据库在算平均值的时候,会自动把null值不进行计算

  1. -- 先找平均成绩
  2. select avg(score) 平均成绩 from student
  3. -- 找人 使用子查询方式
  4. select * from student
  5. WHERE score > (
  6. select avg(score) from student
  7. )

select

select可以进行查询,也可以做一些数学运算;

  1. SELECT 1+1;
  2. SELECT 2*3;
  3. SELECT (3+4)*2/5*3-(100-3)/4;

字段和字段之间也可以进行一些运算
比如统计每个学生的所有信息,并在信息后添加一列,计算超过平均分数的分数;

  1. select id,name,age,sex,score, (score - (SELECT avg(score) from student)) as 距离平均分
  2. from student;

image.png
也可以将所有的汇总数据写一条语句中。

  1. select avg(age),max(age),min(age),sum(age),count(age) from student;