SQL当表有FK时,我们是否需要始终连接2个表?

时间:2014-03-28 07:16:08

标签: sql select inner-join

我不知道这个问题是多么合法,我一直在考虑这个问题。 假设我有2个表,表A和表B. 在表A中我们有

TableA
--------
ID  int not null PK
ANOTHER_COLOLUMN String null,
....
TABLE_B_ID (FK, int, not null)

和表B

TableB
-------
ID int not null PK,
....
....

我的问题是,我们是否总是需要

select * from TableA inner join TableB on TableA.id = TableB.id

如果我只是使用TableA(我根本不接触tableB)?

2 个答案:

答案 0 :(得分:0)

您的查询

select * from TableA inner join TableB on TableA.id = TableB.id

将仅返回表A中具有表B中相关记录的那些记录。

在您的情况下,您需要使用以下队列:

select * from TableA

并且无论是否有外键。

答案 1 :(得分:0)

没有。如果您没有使用TableB中的数据,则无需使用FK或加入。