算数函数

一、算数函数

1. 使用 AVG() 函数求数值列的平均值

请编写 SQL 语句,查询教师表 teachers 中教师邮箱为 '@qq.com' 结尾的年龄的平均值,最后返回结果列名显示为 'average_teacher_age' 。

SELECT avg(age) AS average_teacher_age FROM teachers WHERE email like '%@qq.com';

2.使用 MAX() 函数返回指定列中的最大值

请编写 SQL 语句,使用聚合函数 MAX(),从教师表 teachers 中,查询最年长的且国籍为中国的教师信息,并返回该教师的年龄,结果列名显示 max_age。

SELECT MAX(age) as max_age FROM teachers WHERE country='CN';

3. 使用 MIN() 函数返回指定列中的最小值

请编写 SQL 语句,查询教师表 teachers 中最小的教师年龄 (age)并将输出字段命名为 min_age。

SELECT MIN(age) AS min_age FROM teachers ;

4. 使用 SUM() 函数统计数值列的总数

请编写 SQL 语句,统计课程表 courses 中 teacher_id 为 3 的教师所教授的学生总数,并用select_student_sum 作为结果集列名。

SELECT SUM(student_count) AS select_student_sum FROM courses WHERE teacher_id ='3';

5. 使用 ROUND() 函数将数值四舍五入

请编写 SQL 语句,查询教师表 teachers 中,20 岁(不包含 20 岁)以上教师的平均年龄,返回的字段为 avg_teacher_age ,结果保留四舍五入后的整数。

SELECT ROUND(AVG(age),0) AS avg_teacher_age FROM teachers WHERE age>20;

6. 使用 NULL() 函数判断空值

6.1 ISNULL()
ISNULL() 函数用于判断字段是否为 NULL,它只有一个参数 column_name 为列名,根据column_name 列中的字段是否为 NULL 值返回 0 或 1。

SELECT ISNULL(`column_name`) FROM `table_name`;

如果 column_name 列中的某个字段是 NULL 则返回 1,不是则返回 0
6.2 IFNULL()
IFNULL() 函数也用于判断字段是否为NULL,但是与 ISNULL() 不同的是它接收两个参数,第一个参数 column_name 为列名,第二个参数 value 相当于备用值。

SELECT IFNULL(`column_name`, `value`) FROM `table_name`;

如果 column_name 列中的某个字段是 NULL 则返回 value 值,不是则返回对应内容。
COALESCE(column_name, value) 函数也用于判断字段是否为NULL,其用法和 IFNULL() 相同。

7. 使用 COUNT() 函数计数

7.1 COUNT()和COUNT()
注意: COUNT(column_name) 与 COUNT(
) 的区别:

  • COUNT(column_name) 中,如果 column_name 字段中的值为 NULL,则计数不会增加,而如果字段值为空字符串"",则字段值会加 1
  • COUNT() 中,除非整个记录全为 NULL,则计数不会增加,如果存在某一个记录不为 NULL,或者为空字符串"",计数值都会加 1。正常来说,表都会有主键,而主键不为空,所以 COUNT() 在有主键的表中等同于 COUNT(PRIMARY_KEY),即查询有多少条记录。

7.2 COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目

请编写 SQL 语句,统计教师表中年龄在 20 到 28 岁之间,且国籍为中国或英国的教师人数,最后返回统计值,结果列名显示为 teacher_count 。

SELECT COUNT(id) AS teacher_count FROM teachers WHERE age between 20 and 28 and country in('CN','UK');

__EOF__

本文作者粥粥alg
本文链接https://www.cnblogs.com/3456939606zwp/p/17810625.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   粥粥alg  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示