SQLite3和“级联”SELECTion

时间:2011-01-04 15:35:08

标签: sql select join sqlite

我有一个父表和一个子表,通过一些REFERENCE与父表相关。

假设我对子进程执行SELECT语句并返回至少一个结果。我可以安排我的搜索自动为这个孩子提供所有相关父母的所有内容吗?

或者我是否必须始终从孩子那里获取引用并将其放在第二个SELECT语句中并自己执行此操作?

2 个答案:

答案 0 :(得分:3)

您可以使用子查询:

SELECT *
FROM Parent
WHERE Parent.Id IN (SELECT ParentId
                    FROM Child
                    WHERE Whatever_was_your_original_query)

或者是一个好老的加入:

SELECT Parent.*
FROM Parent INNER JOIN Child ON Parent.Id = Child.ParentId
WHERE Whatever_you_want_to_query

答案 1 :(得分:1)

这是SQL的基本目的。您将两个表一起加入以创建一组结果行,其中包含BOTH表中的部分或全部列。

有关详细信息,请参阅this page