-module(cake@query@join). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([table/1, sub_query/1, cross/2, inner/3, left_outer/3, right_outer/3, full_outer/3]). -spec table(binary()) -> cake@internal@query:join_kind(). table(Tbl_nm) -> _pipe = Tbl_nm, {join_table, _pipe}. -spec sub_query(cake@internal@query:'query'()) -> cake@internal@query:join_kind(). sub_query(Sq) -> _pipe = Sq, {join_sub_query, _pipe}. -spec cross(cake@internal@query:join_kind(), binary()) -> cake@internal@query:join(). cross(Wth, Als) -> _pipe = Wth, {cross_join, _pipe, Als}. -spec inner( cake@internal@query:join_kind(), cake@internal@query:where(), binary() ) -> cake@internal@query:join(). inner(Wth, On, Als) -> _pipe = Wth, {inner_join, _pipe, Als, On}. -spec left_outer( cake@internal@query:join_kind(), cake@internal@query:where(), binary() ) -> cake@internal@query:join(). left_outer(Wth, On, Als) -> _pipe = Wth, {left_outer_join, _pipe, Als, On}. -spec right_outer( cake@internal@query:join_kind(), cake@internal@query:where(), binary() ) -> cake@internal@query:join(). right_outer(Wth, On, Als) -> _pipe = Wth, {right_outer_join, _pipe, Als, On}. -spec full_outer( cake@internal@query:join_kind(), cake@internal@query:where(), binary() ) -> cake@internal@query:join(). full_outer(Wth, On, Als) -> _pipe = Wth, {full_outer_join, _pipe, Als, On}.