不知道你表怎么建的,目测是你数据有问题(第四个字段在这题里没什么用,就没写,另外:你第一个图的语句也不对,会多出来两个null关联起来的情况,所以最后我改了一下)
create table course(cno int,
cname varchar(50),
cpno int)
insert into course values (1,'数据库',5)
insert into course values (2,'数学',null)
insert into course values (3,'信息系统',1)
insert into course values (4,' *** 作系统',6)
insert into course values (5,'数据结构',7)
insert into course values (6,'数据处理',null)
insert into course values (7,'PASCA语言',6)
select firstcno,secondcpno from course first,course second where firstcpno=secondcno and secondcpno is not null
最好把你的插入数据语句发出来,才能看出来问题,我这个得执行结果:
您好,您这样:
--1
select Sname,Sage from Student where Sage<(select Sage from Student where Sno='某一学生') and Sdept='数学系'
--2
select Sname from Student where Sno in (select Sno from SC)
--3
select Sname from Student where Sno in (select Sno from SC group by Sno having count()=(select count() from Course ))
CREATE
TABLE
学生表
(学号
VARCHAR(12)
NOT
NULL,
姓名
VARCHAR(20)
NOT
NULL,
性别
VARCHAR(10)
NOT
NULL,
年龄
INT
CHECK(年龄>=0
AND
年龄<=120),
所在系
VARCHAR(20)
NOT
NULL,
PRIMARY
KEY
(学号)
)
CREATE
TABLE
课程表
(课程号
VARCHAR(12)
NOT
NULL,
课程名
VARCHAR(20)
NOT
NULL,
先修课号
VARCHAR(20)
NOT
NULL,
学分
INT
CHECK(学分>0
AND
学分<=20),
PRIMARY
KEY
(课程号)
)
CREATE
TABLE
成绩表
(学号
VARCHAR(12)
NOT
NULL,
课程号
VARCHAR(12)
NOT
NULL,
成绩
REAL
CHECK(成绩>=0
AND
成绩<=100),
PRIMARY
KEY
(学号,课程号),
FOREIGN
KEY
(学号)
REFERENCES
学生表
(学号),
FOREIGN
KEY
(课程号)
REFERENCES
课程表(课程号)
)
这个是主键约束的问题。
INSERT INTO course VALUES ('A','A','A',1)
表COURSE 的cpno列为主键。
不能插入重复值
假如我执行了上面的SQL语句 再也不能插入在cpno列插入A的值了。
换个别的值就OK。
Course(Cno,Cname,Cpno,Ccredit)表的cpno必要是在cno字段中存在,你插入的values('1','数据库','5','4')会失败,因为里面没有cno='5'的纪录。
SQL中credit是什么意思
授权 对×××信任
可能是对某个用户的信任或者对某个表格的信任
使该用户可以访问一部分表格,或者某个表格可以被一些用户访问
再看看别人怎么说的。
数据库中 学生S(Sno,Sname,Ssex,Sage,Sdept), 课程C(Cno,Cname,Cpno,Ccredit) 选课表SC(Sno,Cno,Grade)
1 select from S
2 select sname, 2014-Sage from S
3 select sname, sage from S where sage between 20 and 22
4 select from S order by sdept asc, sage desc
5 select Ssno, sname from S, C, SC where Ssno=SCsno and SCcno=Ccno and Cname='数据库
'
sql sever触发器 “ 必须声明标量变量 "@Ccredit"“该怎么弄
没声明 @Ccredit 这个变量啊 !
declare @ProductPrice int
后面加以个
declare @Ccredit int
下面 再加以个 @Ccredit 从哪来的
select @Ccredit =Ccredit from 哪个table
这样的话 如果 Ccredit 不在 ProductInfo 这个 table里
那么下面
update ProductInfo
set ProductPrice = @Ccredit
where ContractID = @ContractID
这个句子 就要加 inner join /left join/ritht join 了 !
数据库total_credit是什么意思
total是总数的意思,credit是学分的意思
合起来就是总学分。
数据库中SMALLINT什么意思?
SMALLINT 数据类型是一种精确数值数据类型,其精度在算术运算后不变。它需要 2 个字节存储。
以上就是关于数据库系统概论全部的内容,包括:数据库系统概论、学生—课程"数据库中包含学生表,课程表,学生选课表3个表,分别是:、有一个“学生课程”数据库,数据库中包括三个表:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)