创建一个学生情况表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呀
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呀
cgrade,如果是表示年级,肯定也是整形。如果是表示成绩,若没打算有小数分,也是整型
因为要查的是选修了3门课程的学生信息,所以一定要该学号在XSQK表和课程号XS_KC表中都有啊。
(想一想,有学生在学生表里存在,但是他并没有选课,你就应该会明白了)
cgrade,如果是表示年级,肯定int。如果是表示成绩,有小数分就用float,
要查的是选修了3门课程的学生信息,所以要注意主外键联系