如何在数据库上使用JOIN。

时间:2013-01-03 20:03:27

标签: c# sqlite foreign-keys

(SQLite和C#) 我有这个小问题。见这2个表。 1.是父母,2。是孩子

Parent

Child

我应该从父表中获取“broj_goluba”以匹配子表中的“par_m”和“par_z”,稍后只需在datagridview中显示它。

Foregin键应该有助于快速完成任务,但是当我编写代码时,我有更多的代码行而不是使用外键。

有人可以帮助我并写下使用外键时我的代码(编辑:SQL查询)的样子。

2 个答案:

答案 0 :(得分:1)

外键不存在以“帮助快速完成任务”。它们的存在是为了强制数据完整性。坦率地说,我不知道你编写的T-SQL代码行数是如何依赖于是否存在外键。

以下查询存根可以帮助您开始查询:

Select Table1.broj_goluba, Table2.par_z ...
From Table1
Inner Join Table2 on Table1.ID = Table2.par_m

答案 1 :(得分:1)

我理解你需要的是,但它不需要对速度做任何事情。也许你的意思是INDEX而不是FOREIGN KEY

SELECT BROJ_GOLUBA
FROM TABLE1
INNER JOIN TABLE2 ON (TABLE1.ID = TABLE2.PAR_M OR TABLE1.ID = TABLE2.PAR_J)

或者你可能需要两个值相等:

SELECT BROJ_GOLUBA
FROM TABLE1
INNER JOIN TABLE2 ON (TABLE1.ID = TABLE2.PAR_M AND TABLE1.ID = TABLE2.PAR_J)