外键的使用

Usage of Foreign Key

我正在尝试学习 SQL 服务器,但对外键的使用感到困惑。我擅长创建、更改和删除外键。我怀疑外键何时有用!

1st table 是 'subject',里面有 'subject'(主键)和 'teacher'。

第二个 table 是 'Class',具有 'Class'(主键)和 'Floor'.

我用 'class' 和 'subject' 制作了第 3 个 table 'Details'。

'details.subject' 是对 subject.subject 的外键引用,'details.class' 是对 'class.class' 的外键引用。现在我很困惑如何在一次执行中看到所有细节?

SELECT *
FROM Details 

仅提供 class 和 table 'Details' 的主题。但是当我 运行 一个查询时,我想得到“ details.class, class.floor, details.subject, subject.teacher ”。如果我们仅在使用 'JOINS' 时得到上述输出,那么为什么我们应该使用 'Foreign Key' :o

我想你理解我的疑问..我卡住了,请帮忙:p

它用于防止破坏 table 之间链接的操作。 FOREIGN KEY 约束还可以防止将无效数据插入到外键列中,因为它必须是它指向的 table 中包含的值之一。 如果你在 2 table 之间有外键关系,你也是。并且您启用了删除时的级联,然后如果删除了父行,它将自动删除子 table.

中的相关行