数据库MySQL操作
s(学号,姓名,年龄,性别)
sc(学号,课程号,成绩)
c(课程号,课程名,教师姓名)
试用sql的查询语句表达下列查询。
①在表C中统计开设课程的教师人数。
SELECT COUNT(DISTINCT TEACHER)
FROM C;
②求选修C4课程的女学生的平均年龄。
SELECT AVG(年龄) AS 平均年龄
FROM SC,c
WHERE SC.学号=S.学号 AND 课程号='C4' AND 性别='女';
③求LIU老师所授课程的每门课程的平均成绩。
SELECT AVG(成绩) AS 平均成绩,C.课程号
FROM SC,C
WHERE SC.课程号=C.课程号 AND 教师姓名='LIU'
GROUP BY C.课程号;
④统计每个学生选修课程的门数(超过5门的学生才统计)。要求输出学生学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列。
SELECT 学号,COUNT(课程号) as 选修门数
FROM SC
GROUP BY 学号
HAVING COUNT(*)>5
ORDER BY 2 DESC,1;
⑤检索学号比 WANG同学大,而年龄比他小的学生姓名。
SELECT 姓名
FROM S
WHERE 学号>ALL(SELECT 学号 from s WHERE 姓名='WANG')
AND 年龄<ALL(SELECT 年龄 from