Этот запрос дает список книг по параметрам пользователя
SELECT b.id,
FROM usertable u
INNER JOIN group_user gu ON gu.uid = u.id
INNER JOIN grouptable g ON g.id= gu.gid
INNER JOIN books b ON b.groupname = g.groupname
WHERE u.username = @user_name
Также я думаю, что если у вас есть название группы, вы можете использовать
SELECT b.id,
FROM grouptable g
INNER JOIN books b ON b.groupname = g.groupname
WHERE g.groupname = @group_name
Шина, имеющая выбор по обоим параметрам, я думаю, не очень хорошая мысль. Этот запрос получит
список книг по имени группы пользователей
SELECT b.id,
FROM usertable u
INNER JOIN group_user gu ON gu.uid = u.id
INNER JOIN grouptable g ON g.id= gu.gid
AND g.group_name = @group_name
INNER JOIN books b ON b.groupname = g.groupname
WHERE u.username = @user_name