Поскольку ни один из других ответов не присоединяющиеся три таблицы (ваш вопрос заголовок состояния три, но ваше тело нуждается только два), я дам вам версию три таблицы.
Для этого я предполагаю, что у вас есть имя пользователя, а не идентификатор. В этом случае, вы можете сделать:
select
u.id as user_id,
u.username as user_name,
b.id as book_id,
b.title as book_title
from
users u,
books b.
user_books ub
where u.username = 'username-of-user-47'
and u.id = ub.userID
and b.id = ub.bookID
Такого рода вещи также может быть сделано с явными JOIN
с, но я предпочитаю «старой школы» способы SQL особенно, когда СУБД достаточно умен, чтобы оптимизировать его в том же как мои любимые DB2/z :-)
Домашнее задание? Что вы пробовали? –
Привет, Томми. Это звучит как вопрос домашней работы. Это нормально, но могли бы вы сказать, что вы пробовали, и какие у вас были проблемы? Похоже, вы пытаетесь заставить кого-то сделать все это для вас, что некоторые люди не любят. Им нравится думать, что вы пробовали в первую очередь. –
Он также имеет довольно неспецифическую тему. Вероятно, сейчас есть несколько тысяч вопросов о SO, которые соответствовали бы этой же теме! Было бы намного лучше, если бы вы сказали: «Как мне сделать соединение трех таблиц с SQL-сервером». –