日期:2014-05-17 浏览次数:21490 次
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