opaleye-0.9.5.1: An SQL-generating DSL targeting PostgreSQL
Safe HaskellSafe-Inferred
LanguageHaskell2010

Opaleye.FunctionalJoin

Description

Alternative APIs to inner, left, right, and full outer joins. See Opaleye.Join for details on the best way to do joins in Opaleye.

Synopsis

Full outer join

fullJoinF Source #

Arguments

:: (Default IfPP fieldsResult fieldsResult, Default Unpackspec fieldsL fieldsL, Default Unpackspec fieldsR fieldsR) 
=> (fieldsL -> fieldsR -> fieldsResult)

Calculate result row from input rows for rows in the left and right query satisfying the join condition

-> (fieldsL -> fieldsResult)

Calculate result row from left input row when there are no rows in the right query satisfying the join condition

-> (fieldsR -> fieldsResult)

Calculate result row from right input row when there are no rows in the left query satisfying the join condition

-> (fieldsL -> fieldsR -> Field SqlBool)

Condition on which to join

-> Select fieldsL

Left query

-> Select fieldsR

Right query

-> Select fieldsResult 

Deprecated

joinF Source #

Arguments

:: (fieldsL -> fieldsR -> fieldsResult)

Calculate result fields from input fields

-> (fieldsL -> fieldsR -> Field SqlBool)

Condition on which to join

-> Select fieldsL

Left query

-> Select fieldsR

Right query

-> Select fieldsResult 

Deprecated: Use where_ and do notation instead. Will be removed in 0.10.

leftJoinF Source #

Arguments

:: (Default IfPP fieldsResult fieldsResult, Default Unpackspec fieldsL fieldsL, Default Unpackspec fieldsR fieldsR) 
=> (fieldsL -> fieldsR -> fieldsResult)

Calculate result row from input rows for rows in the right query satisfying the join condition

-> (fieldsL -> fieldsResult)

Calculate result row from input row when there are no rows in the right query satisfying the join condition

-> (fieldsL -> fieldsR -> Field SqlBool)

Condition on which to join

-> Select fieldsL

Left query

-> Select fieldsR

Right query

-> Select fieldsResult 

Deprecated: Use optional instead. Will be removed in 0.10.

rightJoinF Source #

Arguments

:: (Default IfPP fieldsResult fieldsResult, Default Unpackspec fieldsL fieldsL, Default Unpackspec fieldsR fieldsR) 
=> (fieldsL -> fieldsR -> fieldsResult)

Calculate result row from input rows for rows in the left query satisfying the join condition

-> (fieldsR -> fieldsResult)

Calculate result row from input row when there are no rows in the left query satisfying the join condition

-> (fieldsL -> fieldsR -> Field SqlBool)

Condition on which to join

-> Select fieldsL

Left query

-> Select fieldsR

Right query

-> Select fieldsResult 

Deprecated: Use optional instead. Will be removed in 0.10.