Aucun des autres réponses se joignent trois tables (votre question, mais trois états tête de votre corps a besoin de seulement deux), je vais vous donner une version trois table.
Pour ce faire, je suppose que vous avez le nom d'utilisateur de l'utilisateur plutôt que l'ID. Dans ce cas, vous pouvez faire:
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
Ce genre de chose peut être fait avec explicites JOIN
s mais je préfère les voies SQL « vieille école », en particulier lorsque le SGBD est assez intelligent pour optimiser dans le même manière, comme mon bien-aimé DB2/z :-)
Devoirs? Qu'avez-vous essayé? –
Salut, Tommy. Cela ressemble à une question de devoirs. C'est bon, mais pourriez-vous dire ce que vous avez essayé, et quels problèmes avez-vous eu? On dirait vraiment que vous essayez d'amener quelqu'un à tout faire pour vous, ce que certaines personnes n'aiment pas. Ils aiment penser que vous avez essayé en premier. –
Il a également une ligne d'objet assez non spécifique. Il y a probablement plusieurs milliers de questions sur SO en ce moment qui correspondent à cette même ligne d'objet! Ce serait beaucoup mieux si vous disiez "comment je ferais une jointure de trois tables avec sql server". –