0

下の図のスキーマを持つデータベースがあり、[letaky] の 1 つの行 (1 つの ID) に関連するすべてを選択する必要があります。これは、関連する [zamestnanci]、関連するすべての [obsah]、およびその中のすべての [knihy] を意味します。

データベースでリレーションを使用するのはこれが初めてで、そのような選択を行う方法がわかりません。

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

4

1 に答える 1

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

これらの結合ごとに、INNER JOIN、LEFT JOIN、または RIGHT JOIN が必要かどうかを検討することもできます。これらの JOIN の違いは、StackOverflow に関する他の多くの質問で説明されています。たとえば、次のようなものです。

SQL 結合の違い

于 2010-08-18T12:08:48.913 に答える