我正在尝试学习SQL Server,并对使用外键感到困惑。我很擅长创作,改变和删除外键。我怀疑的是,当外键有用时!
第一个表格是“主题”,主题是“主键”和“老师”#39;在里面。
第二个表是' Class',有' Class'(主键)和' Floor'。
我制作了第3张桌子'详情'和'等级'和'主题'。
' details.subject'是&subject;主题和' details.class'的外键引用。是&class; class.class'的外键引用。现在我很困惑,我怎么能看到一个执行中的所有细节?
SELECT *
FROM Details
仅提供表格中的课程和主题'详细信息'。但我想得到" details.class,class.floor,details.subject,subject.teacher"当我运行一个单一的查询。如果我们仅在使用“JOINS'”时才获得上述输出,那么为什么我们应该使用'外键' :o
我想你理解我的怀疑..我卡住了,请帮忙:p
答案 0 :(得分:1)
它用于防止会破坏表之间链接的操作。 FOREIGN KEY约束还可以防止将无效数据插入到外键列中,因为它必须是它指向的表中包含的值之一。 如果您在2个表之间有外键关系,也可以。并且您在删除时启用了级联,如果父行被删除,它将自动删除子表中的相关行。