method is similar to
inner_join() except that its output includes every
output of the right-hand query at least once. On PostgreSQL it's a wrapper
RIGHT JOIN. On sqlite it gets the same results
LEFT JOIN and swapping things around.
For any queries
you can call
) provided that:
abstract_mapper<bool>(in practice it will be a
l's value type cannot be represented as all
NULLs (which is unlikely to arise, but see here for a discussion of which types allow all
mappers will both be visible
) returns a
with the following characteristics:
r's value types respectively.
>, in which:
>whose content mapper is identical to
l's value mapper, and.
r's value mapper.
std::tuples formed from each combination of the outputs of
r, for which
}, for each of
rothat would not have made an appearance otherwise.
const query<std::tuple<boost::optional<screen>, movie>> no_movie_left_behind = screens.right_join(movies, screens->current_movie_id == movies->id);