【发布时间】:2021-12-21 22:31:54
【问题描述】:
我有一个问题。我有 2 个表,我想从左到右进行内部连接。
左表包含来自右表的外键,并且它有自己的主键。
既然我得到了与右表有连接的外键,我应该用左表的主键+外键加入吗?
例如
ON (left table primary key = left table foreign key)
但我也可以使用左右表主键,但有什么不同
ON (left table primary key = right table primary key)
【问题讨论】:
-
加入正确意味着将一个表中的外键与第二个表中此FK约束引用的主键链接起来。这就是重点,也是外键约束的原因!加入两个任意的 PK 并没有多大意义....
-
约束(包括 PK 和 FK)不需要存在、已知或声明以记录或查询。表含义是必要和充分的。约束告诉 DBMS 无效的 DB 状态,因此它可以防止错误更新它们。 (这之前的评论是误会了。)Is there any rule of thumb to construct SQL query from a human-readable description? PS CROSS JOIN vs INNER JOIN in SQL
标签: sql database inner-join