Выбор нескольких строк на основе внешнего ключа в другой таблице - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть таблицы Boys и Girls:

Boys
id   | name
------------
1    | Bobby
2    | Timmy

Girls
id   | name
------------
1    | Mary
2    | Sally

Затем у меня есть таблица Friendships, которая содержит внешний ключ для идентификатора одного мальчика и одной девочки.

Friendships
id   | boy_id | girl_id
-----------------------
1    | 2      | 2
1    | 2      | 1

Как мне написать оператор выбора, который будет возвращать набор Girls, основанный на дружбе, где boy_id равен 2?

1 Ответ

1 голос
/ 26 февраля 2020

Есть много способов. Вложенный запрос:

select *
from Girls g
where g.id in (
    select f.girl_id
    from Friendships f
    where f.boy_id = 2
)

Или присоединиться:

select *
from Girls g
inner join Friendships f on g.id = f.girl_id
where f.boy_id = 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...