日期:2014-05-17 浏览次数:21367 次
alter table study add constraint pk_study(id) primary key alter table exam add constraint pk_exam(id,subject) primary key alter table exam add constraint fk_exam_id foreign key(id) references study(id)
------解决方案--------------------
应该是study表的id为主键吧? 学员ID应该不会重复
然后exam表的id 对应的是study表的id 相当于外键
查询的时候 如果是要查询每个人的姓名学科分数 直接关联就可以了
------解决方案--------------------
列举简单的例子 查询存在分数的学员姓名学科分数
create table study (id number(10),name varchar2(20),class number(5)); insert into study values (11001,'张三',110); insert into study values (11002,'李四',110); insert into study values (11101,'张三',111); insert into study values (11202,'王五',112); create table exam (id number(10),subject varchar2(20),scores number(5)); insert into exam values (11001,'数学',80); insert into exam values (11002,'数学',90); insert into exam values (11101,'数学',67); insert into exam values (11202,'数学',87); insert into exam values (11001,'语文',54); insert into exam values (11002,'语文',90); insert into exam values (11101,'语文',98); insert into exam values (11202,'语文',87); commit; select a.name,b.subject,b.scores from study a,exam b where a.id = b.id order by a.id id name subject scores --------------------------------- 1 11001 张三 数学 80 2 11001 张三 语文 54 3 11002 李四 数学 90 4 11002 李四 语文 90 5 11101 张三 语文 98 6 11101 张三 数学 67 7 11202 王五 语文 87 8 11202 王五 数学 87