2014-06-10 55 views
-1

我需要从具有多个外键的表中获取列。 这是一个基本的问题,但我不确定是否需要加入所有外键和表来获取单个列?我是否需要加入sql中的所有外键

+0

例如。从testA中选择* from id.testA testA上的内部连接testB.id = testB.id内部连接testA上的testC.id = testC.id。这里testB.id和testB.is是testA表中的一个外键。 – user3707778

+1

为什么你不试试? – Sk1X1

+0

什么表是你想要的列? – arserbin3

回答

2

如果您不需要从外键连接的其他表的数据,那么不需要,为了获取单个列,您不需要进行任何连接,假设该列在选择表上。

+0

谢谢..我也有一点疑问。因此,只有当我需要表的列时,即使它是一个外键,我也会加入表。所以我的查询应该去:select * from test.A test.id = test.id test.id = 100. test.id = 100.我正确地说上面的 – user3707778

+0

虽然你的语法有点不对(testA .id,而不是id.testA),但否则所有的好:) –

0

当您需要获取下划线键值时,您必须加入外键。

I.E.如果你有一个EMPLOY表,你的出生城市有FK。如果您想知道有关出生城市的其他信息(存储在CITY表格中),则必须应用JOIN。

在你的桌子上你可以有另一个FK,但是你的查询并不重要,所以你不能申请一个JOIN

相关问题