学生表
id(PK),name课程 --这里简化不要老师表了,老师名字可重复。
id(PK), name, teacher_name然后还有一个选课信息的表。
怎么设计呢?选课信息
学生id,课程id 吗?应该怎么最好呢?顺便问下,
1)怎么输出全部学生的选课信息? 按学生id排序。
学生id,课程name,teacher_name2)输出学生最多的老师的名字。

解决方案 »

  1.   

    选课信息表就用你说的。1)怎么输出全部学生的选课信息? 按学生id排序。select 
    from 学生表 a.id as 学生ID,c.name as 课程name,c.teacher_name
    inner join 选课信息 b on a.id=b.学生id
    inner join 课程 c on b.课程id=c.id2)输出学生最多的老师的名字。
    select top 1 teacher_name
    from 选课信息 a inner join 课程 b on a.课程Id=b.id
    group by teacher_name
    order by count(*) desc如果是统计一门课程的最多学生的老师,改成
    group by a.课程Id,teacher_name