여러개의 fk로 구성된 pk를 간단히 비교하는 쿼리문이 있을까요?
table GRADE_ITEM_SCORE;
table GRADE_ITEM;
table ATTEND;
table LECTURE;
table SUBJECT;
table PROFESSOR;
table ASSISTANT;
table STUDENT;
table DEPARTMENT;
위 테이블이 있는데
table LECTURE
(
SUBJECT_ID varchar2(6),
SEMESTER varchar2(5),
DIV_ID number,
// 중략 //
primary key (SUBJECT_ID, SEMESTER, DIV_ID),
foreign key(DEPT_ID) references DEPARTMENT,
foreign key(PROF_ID) references PROFESSOR,
foreign key(SUBJECT_ID) references SUBJECT
);
LECTURE는 PK를 속성 3개를 사용하여 구성을 하였습니다.
그런데 여기서 문제가
table GRADE_ITEM_SCORE;
table GRADE_ITEM;
table ATTEND;
이 3개의 테이블의 경우 lecture의 pk를 FK로 가져야 하는데
쿼리문에서 특정 lecture에 해당하는 위 3개의 table 내용을 참조하고 싶으면
매번 primary key (SUBJECT_ID, SEMESTER, DIV_ID) 이 3개에 해당하는 = 를 다 써줘야 하나요?
select * from ~~~~
where ATTEND a, lecture b
a.subject_id = b.subject_id and
a.semester = b.semester and
a.div_id = b.div_id and ~~~~
여러개 속성을 pk로 묶고 나서 이름을 재정의 해주던가 그런 방법 없나요?
댓글 달기