下の図のスキーマを持つデータベースがあり、[letaky] の 1 つの行 (1 つの ID) に関連するすべてを選択する必要があります。これは、関連する [zamestnanci]、関連するすべての [obsah]、およびその中のすべての [knihy] を意味します。
データベースでリレーションを使用するのはこれが初めてで、そのような選択を行う方法がわかりません。
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
これらの結合ごとに、INNER JOIN、LEFT JOIN、または RIGHT JOIN が必要かどうかを検討することもできます。これらの JOIN の違いは、StackOverflow に関する他の多くの質問で説明されています。たとえば、次のようなものです。