上面的二、lsb(老师表) lsid(教师编号) 
xsxm(姓名) ==============写错了  是 lsxm(姓名)
lsxb(性别) 
lssr(生日) 
lszc(职称) 
lsxx(系) 希望有高人指点

解决方案 »

  1.   

    1.显示编号是103的学生的姓名和成绩
    (你回去告诉你的老师,下次出题的时候把题目出好点,这里的成绩是每个科目的成绩?还是总成绩,还是随便取个成绩?)
    select m.xsxm , n.ccj from xsb m , cjb n where m.xsid = n.xsid and m.xsid = 103
    select m.xsxm , sum(n.ccj) ccj from xsb m , cjb n where m.xsid = n.xsid and m.xsid = 103 group by m.xsxm
    select m.xsxm , o.kcmc , n.ccj from xsb m , cjb n , kcb o where m.xsid = n.xsid and n.kcid = o.kcid and m.xsid = 1032 显示编号是101的学生成绩大于90的课程编号 
    select kcid from cjb where xsid = 101 and ccj > 903 我想知道数字电路的课程编号,应该怎么做 
    select kcid from kcb where kcmc = '数字电路'4 显示 cjb(成绩表)中分数最高的学生的学号和课程号  
    (再问问你的老师,是每门课程的最高分,所有课程中最高分)
    --所有课程中最高分
    select xsid , kcid from cjb where ccj = (select max(ccj) from cjb)
    --每门课程的最高分
    select t.xsid , t.kcid from cjb t where ccj = (select max(ccj) from cjb where kcid = t.kcid)5 查询学生的姓名、所学的课程号以及该课程的成绩 
    select m.xsxm , n.kcid , n.ccj from xsb m , cjb n where m.xsid = n.xsid6 查询95033班所选课程的平均分数 
    --这个不知道你是按班级算?还是按每个人算?还是按每个课程算?7 查询选修多门课程的同学中分数为非最高成绩的记录 
    select t1.* from cjb t1 where not exists (select 1 from 
    (
      select xsid , max(ccj) max_ccj from cjb where xsid in
      (select xsid from cjb group by xsid having count(*) > 1) group by xsid
    ) t2 where t2.xsid = t1.xsid and t2.max_ccj = t1.ccj
    )