《实验题》几个SqlServer版本的SQL语句

2023-02-21 00:00:00 专区 订阅 记录 成绩 总成绩

UTB_EXAM_SCORE 表有155条记录,Score是表中的一个可空字段,有103条记录非空,52条记录为空。

问:

select count(score) from UTB_EXAM_SCORE;

返回(二选一)

1、155

2、103




二、

select avg(score) from UTB_EXAM_SCORE

where

score is not null



select avg(score) from UTB_EXAM_SCORE


结果是否相同


三、

已知:

总成绩之和:6492.00

全部记录:155

成绩非空记录:103

总成绩/全部:41.883870

总成绩/成绩非空记录:63.029126


问:

select avg(score),SUM(score)/COUNT(1),SUM(score)/COUNT(Score)  from UTB_EXAM_SCORE

输出值:


四、

没有成绩>100的学生,故

select COUNT(1) from UTB_EXAM_SCORE where score > 100

输出0

问:

select 100/COUNT(1) from UTB_EXAM_SCORE where score > 100

执行结果


五、SQL题目

成绩为null或没有记录代表缺考

求每个班,每个科目缺考的学生人数


答案:

一、103

二、是

三、63.029126 41.883870 63.029126

四、异常

五、

select t.CourseId,COUNT(t.ID) from 

(

select s.*,c.ID as CourseId from

UTB_EXAM_STUDENT s,

UTB_EXAM_COURSE c

)t

left join

select StudentId,CourseId from UTB_EXAM_SCORE where score is not null

)ts

on t.ID = ts.StudentId and t.CourseId = ts.CourseId

where 

ts.StudentId is null

and

ts.CourseId is null

group

by

t.CourseId



本文来源https://www.modb.pro/db/182146

相关文章