我不确定我是否正确制定了这个规则,但是遇到一个问题,基本上,我在SQL Developer HUMAN中创建了一种类型的对象,其中包含ID,名称和姓氏。我需要一个TEACHER类型,所以我把它作为具有额外属性的人类下属类型。后来我做了一个包含教师的表,所以我认为所有插入教师的信息,对于人类来说都是一样的,会自动进入“所有人”表,但这没有用。有没有办法编写一些代码,使父对象从其下对象接收所有信息?
答案 0 :(得分:0)
听起来您正在寻找这样的东西:
table Humans
____________
id
name
surname
table Teachers
____________
human_id -- foreign key to Humans table
grade_level
subject -- math, history, etc.
table Students
____________
human_id -- foreign key to Humans table
student_info
Teachers.human_id
和Students.human_id
是引用Humans.id
的外键。要吸引所有老师,您可以这样做
select *
from Humans inner join Teachers
on Teachers.human_id = Humans.id;
这将为您提供包含两个表中所有列的结果集,例如
id |名称|姓human_id |等级|主题
您将执行同样的操作以获取所有学生,在上述查询中将“教师”替换为“学生”。