假设我有一个表(table1),它有一个列(column1),其上有一个引用另一个表(table2)的外键。如果我想要的只是column1中的数据,我是否需要连接table1和table2?那么以下代码就足够了:
SELECT column1
FROM table1;
答案 0 :(得分:1)
是的,这就足够了
然而,与stan在他的评论中所写的不同,外键约束不用于连接
它们是强制执行称为参照完整性的数据完整性的数据库方式
外键的含义是数据库不允许“子”表中的“孤立”记录 - 这意味着如果引用的表中不存在fk列的值,则无法将记录插入表中。
更新也是如此
此外,您无法删除具有fk引用它的记录。
联接与fk约束无关,尽管它们经常使用与fk相同的列。您可以将每个表连接到每个其他表或视图。实际上,某些连接类型甚至没有连接条件。