学生表:student(学号sno,学生姓名sname,出生年月sbirth,性别ssex)
成绩表:score(学号sno,课程号cno,成绩score)
课程表:course(课程号cno,课程名称cname,教师号ctno)
教师表:teacher(教师号tno,教师姓名tname)
注意:下面SQL的实现以MySQL为主
/*
分析思路
select 查询结果 []
from 从哪张表中查找数据 [成绩表score]
where 查询条件 [课程编号为“04”且分数小于60]
group by 分组 [没有]
having 对分组结果指定条件 []
order by 对查询结果排序[查询结果按按分数降序排列];
*/
select 学号 from score where 课程号='04' and 成绩 <60
order by 成绩 desc;
select count(教师号) from teacher where 教师姓名 like '孟%';
/*
查找1990年出生的学生名单
学生表中出生日期列的类型是datetime
*/
select 学号,姓名 from student where year(出生日期)=1990;
select sum(成绩) from score where 课程号 = '0002';
select count(distinct 学号) as 学生人数 from score;
select 课程号, count(学号) from score group by 课程号;
/*
分析思路
group by 分组 [男生、女生人数:按性别分组
having 对分组结果指定条件 [没有]
order by 对查询结果排序[没有];
*/
select 性别,count(*) from student group by 性别;
select 课程号 from score where 成绩<60 order by 课程号 desc;