Как выбрать из базы данных с отношениями? - PullRequest
0 голосов
/ 18 августа 2010

У меня есть база данных со схемой на картинке ниже, и мне нужно выбрать все, что связано с одной строкой (одним идентификатором) из [letaky].Это означает родственные zamestnanci, каждый родственный obsah и каждый knihy в нем.

Впервые я использовал отношения в базе данных, и я не знаю, как сделать такой выбор.

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

1 Ответ

3 голосов
/ 18 августа 2010

Использовать 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-соединениях

...