创建一个学生情况表XSQK
create table XSQK
(sno char(10) primary key
 sname char(10)
 ssex char(2)
 sage int              为什么其他的都用字符型 这里要用整型
 sdeot char(20));
创建课程表KC
create table KC
(cno char(10)
 cname char(20));
创建学生成绩表XS_KC
create table XS_KC
(sno char(10)
 cno char(10)
 cgrade int[6]);      为什么这里也要用整型
  在XS_KC表中查询选修了3门以上课程的学生学号
select XSQK.sno
From XSQK,XS_KC
where XSQK.sno=XS_KC.sno
Group by XSQK.sno having count (XS_kc.sno)>3;
这里只是要查询学生学号 为什么还需要XSQK表 学号和课程号XS_KC表中都有呀
为什么是(XS_KC.sno)>3 不是(XS_KC.cno)>3呀

解决方案 »

  1.   

    sage int              为什么其他的都用字符型 这里要用整型 年龄不用整型?有半岁,0.1岁的吗?
      

  2.   

    cgrade int[6]);      为什么这里也要用整型 这个是成绩吧,估计没打算用小数分.
      

  3.   

    年龄应该是整形
    cgrade,如果是表示年级,肯定也是整形。如果是表示成绩,若没打算有小数分,也是整型
    因为要查的是选修了3门课程的学生信息,所以一定要该学号在XSQK表和课程号XS_KC表中都有啊。
    (想一想,有学生在学生表里存在,但是他并没有选课,你就应该会明白了)
      

  4.   

    年龄应该是int
    cgrade,如果是表示年级,肯定int。如果是表示成绩,有小数分就用float,
    要查的是选修了3门课程的学生信息,所以要注意主外键联系