
使用group分组汇总的方式。
假定如下:
学生信息表--student,包含字段班级ID(CID),学生ID(SID)等,
班级表--class,包含班级ID(ID),班级名称(CNAME)等,
简单SQL如下:
select CCNAME,count() from student s,class c where sCID=sID group by CCNAME;
得到结果是班级名称,以及该班级下所有学生人数,有N个班级就有N笔资料。
SELECT 班级表班级编号,
班级表班级名称,
SUM(DECODE(性别, '1', 1)) 女生人数,
SUM(DECODE(性别, '0', 1)) 男生人数
FROM 学生表, 班级表
WHERE 学生表班级编号 = 班级表班级编号
GROUP BY 班级表班级编号, 班级表班级名称;
这个简单啊,是你想的太复杂。
唯一性的字段就是某班的某某课。我想A班的高数课不会是多个老师上吧。
例如:A1 是A班的1课程
A2 是A班的2课程
B1是B班的1课程
这里A 你可以换成01 然后 就可以是 0101 A班1课程,这样撒。
老师和学生都去选对应的课
学生管理系统
1、学生表嘛, 必须的
2、班级表 与学生表 1 to N 关系, 一个班级 多个学生。
3、专业表 与班级表 1 to N 关系, 一个专业 多个班级。
4、课程表 (与 学生表 N to N 关系)
5、成绩表 ( 学生表 与 课程表 的那个中间关联表 )
6、教师表 (与 课程表 N to N 关系,例如 张三老师 能教 马哲,还能教 邓论。 李四老师也能教 )
7、教师授课表 (教师表 与 课程表 关联)
8、教室表
9、课程 - 教室关联表 ( 每一天,几点, 什么课程, 在什么教室上课 )
10、学生考勤表
create view v_student as select asname,bcname from student a ,class b where ascid=bcid
如果其中有空值的话,还需要进行外连接 *** 作,有的话,你可以接着问。
才一个班级的,一张表就可以了。。当然如果你要记太多杂七杂八数据的话,分两个表,一个记电话号码,一个记人员详细信息。
详细细息表设人员id加其它内容,电话表设电话id并关联人员id。
意思就是数据结构
我的解决方案是两个表即可
班级列表,其中包含的字段基本就是: 班级的唯一ID,班级的年纪,几班,任课老师等信息
学生列表,其中包含的字段基本就是: 学生唯一的ID,学生所属的班级的唯一ID,以及其他学生信息
我想,涉及到班级的信息也就只有那么多,成绩之类全部可以放到学生表中
如果考试次数较多,可以在建立一个专门记录成绩的表,字段:
试卷唯一的ID,隶属考试ID,隶属学生的唯一ID,成绩,日期
等等
其余交给你自己想了
以上就是关于数据库表名: 学生信息 求一 sql语句 取出所有班级的人数全部的内容,包括:数据库表名: 学生信息 求一 sql语句 取出所有班级的人数、oracle数据库,各个班级统计男女生人数,sex字段,0是男,1是女、数据库建表,一个老师带一门课却可以有几个班,那么学生选课表和教师授课表应该怎么建等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)