SQL入门-函数篇(问题版)

接上篇 SQL入门-基础篇(问题版)

上一篇主要测试大家的SQL基础语法掌握,这一回测试下大家函数的掌握情况。

常用函数



1.求 -10 和 9 的绝对值

考察:abs()

2.将 -1.4 、2.6的四舍五入值保留整数

考察:round(x)

3.将 3.474、-1.875 四舍五入保留2位小数

考察:round(x,d)

4.求 'abc'、'love中国' 的字节长度和字符长度

考察:length()、char_length()

5.将 'abd'和'love中国'拼接到一起

考察:concat()

6.查看系统当前的日期

考察:CURRENT_DATE,CURRENT_DATE()

7.求 日期'2018-03-07'往前28天是几号

考察:str_to_date() 和 interval 和 date_add()

聚合函数



本次使用下面的表为例,学生成绩表,根据问题描述,写出SQL

CREATE TABLE `t_point_score` (
  `score_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '成绩ID',
  `class_name` varchar(10) DEFAULT NULL COMMENT '班级名称',
  `student_no` int(11) DEFAULT NULL COMMENT '学号',
  `student_name` varchar(10) DEFAULT NULL COMMENT '学生姓名',
  `course_name` varchar(10) DEFAULT NULL COMMENT '课程名称',
  `score` int(11) DEFAULT NULL COMMENT '分数',
  PRIMARY KEY (`score_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

8.查询t_point_score表中的总记录数

考察:函数 count()

9.查询t_point_score表中学生人数

考察:函数 count() 和 distinct

10.查询t_point_score表中,每个班级的学生人数

考察:函数 count() 和 distinct 和 group by

11.查询t_point_score表中,每门课程的最低分和最高分

考察:函数 min()、max() 和 group by

12.查询t_point_score表中,每名学生的所有课程的平均分

考察:函数avg()

13.查询出每个班级中,每门课程最高的学生的学号和姓名

考察:函数max() 和 子查询

此题难度高些,考察了子查询的使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容