如何从有关系的数据库中进行选择?

0 mysql relation

我的数据库的架构如下图所示,我需要选择与 [letaky] 的一行(一个 id)相关的所有内容。这意味着相关的 [zamestnanci]、每个相关的 [obsah] 以及其中的每个 [knihy]。

这是我第一次在数据库中使用关系,我不知道如何进行这样的选择。

http://img248.imageshack.us/img248/4548/schemai.png

Mar*_*ers 5

使用 JOIN ... ON:

SELECT * 
FROM zamestnanci
JOIN lekaty ON lekaty.zamestnanciid = zamestnanci.id
JOIN obsah ON obsah.idletaku = lekaty.id
JOIN knihy ON knihy.id = obsah.idknihy
WHERE letaky.id = 123
Run Code Online (Sandbox Code Playgroud)

您可能还需要考虑每个连接是否需要 INNER JOIN、LEFT JOIN 或 RIGHT JOIN。StackOverflow 上的许多其他问题描述了这些 JOIN 之间的差异,例如以下问题:

SQL 连接差异