rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWDBJoinExpr Class Reference
[Expressions]

Used to build outer join constructs. More...

#include <rw/db/expr.h>

Inheritance diagram for RWDBJoinExpr:
RWDBExpr

List of all members.

Public Member Functions

 RWDBJoinExpr ()
 RWDBJoinExpr (const RWDBJoinExpr &jexpr)
RWDBJoinExproperator= (const RWDBJoinExpr &jexpr)
RWDBJoinExpron (const RWDBCriterion &criterion)
RWDBJoinExpron (const RWDBColumn &column)

Related Functions

(Note that these are not member functions.)



RWDBJoinExpr rwdbLeftOuter (const RWDBTable &, const RWDBTable &)
RWDBJoinExpr rwdbLeftOuter (const RWDBTable &table, const RWDBJoinExpr &jexpr)
RWDBJoinExpr rwdbLeftOuter (const RWDBJoinExpr &, const RWDBTable &)
RWDBJoinExpr rwdbLeftOuter (const RWDBJoinExpr &, const RWDBJoinExpr &)
RWDBJoinExpr rwdbRightOuter (const RWDBTable &, const RWDBTable &)
RWDBJoinExpr rwdbRightOuter (const RWDBTable &table, const RWDBJoinExpr &jexpr)
RWDBJoinExpr rwdbRightOuter (const RWDBJoinExpr &, const RWDBTable &)
RWDBJoinExpr rwdbRightOuter (const RWDBJoinExpr &, const RWDBJoinExpr &)
RWDBJoinExpr rwdbOuter (const RWDBTable &, const RWDBTable &)
RWDBJoinExpr rwdbOuter (const RWDBTable &table, const RWDBJoinExpr &jexpr)
RWDBJoinExpr rwdbOuter (const RWDBJoinExpr &jexpr, const RWDBTable &table)
RWDBJoinExpr rwdbOuter (const RWDBJoinExpr &, const RWDBJoinExpr &)
RWDBJoinExpr rwdbInner (const RWDBTable &, const RWDBTable &)
RWDBJoinExpr rwdbInner (const RWDBTable &table, const RWDBJoinExpr &jexpr)
RWDBJoinExpr rwdbInner (const RWDBJoinExpr &jexpr, const RWDBTable &table)
RWDBJoinExpr rwdbInner (const RWDBJoinExpr &, const RWDBJoinExpr &)
RWDBJoinExpr rwdbNaturalOuter (const RWDBTable &, const RWDBTable &)
RWDBJoinExpr rwdbNaturalOuter (const RWDBTable &table, const RWDBJoinExpr &jexpr)
RWDBJoinExpr rwdbNaturalOuter (const RWDBJoinExpr &, const RWDBTable &)
RWDBJoinExpr rwdbNaturalOuter (const RWDBJoinExpr &, const RWDBJoinExpr &)
RWDBJoinExpr rwdbNaturalLeftOuter (const RWDBTable &, const RWDBTable &)
RWDBJoinExpr rwdbNaturalLeftOuter (const RWDBTable &table, const RWDBJoinExpr &jexpr)
RWDBJoinExpr rwdbNaturalLeftOuter (const RWDBJoinExpr &, const RWDBTable &)
RWDBJoinExpr rwdbNaturalLeftOuter (const RWDBJoinExpr &, const RWDBJoinExpr &)
RWDBJoinExpr rwdbNaturalRightOuter (const RWDBTable &, const RWDBTable &)
RWDBJoinExpr rwdbNaturalRightOuter (const RWDBTable &table, const RWDBJoinExpr &jexpr)
RWDBJoinExpr rwdbNaturalRightOuter (const RWDBJoinExpr &, const RWDBTable &)
RWDBJoinExpr rwdbNaturalRightOuter (const RWDBJoinExpr &, const RWDBJoinExpr &)

Detailed Description

RWDBJoinExpr is created by a set of global functions that generate ANSI SQL outer join syntax. It represents a specialized type of RWDBExpr that is used only for building outer join constructs.

Synopsis

 #include <rw/db/expr.h>

Related Classes

RWDBJoinExpr is a special case of RWDBExpr. See RWDBExpr for more details. Also see RWDBColumn.

Examples

In this example, an RWDBJoinExpr is created anonymously by the related global function rwdbOuter(), and set as part of the FROM clause.

 // Instantiate a table object to represent the first table.
 RWDBTable t1 = aDatabase.table("table1");

 // Instantiate a table object to represent the second table.
 RWDBTable t2 = aDatabase.table("table2");

 // Instantiate a selector to represent a join query.
 RWDBSelector aSelector = aDB.selector();

 // Construct an isolated full outer join expression
 // using the global method rwdbOuter().
 RWDBJoinExpr join = rwdbOuter(t1, t2);

 // Specify the join criterion and attach it to the
 // join expression using the on method.
 join.on(t1["c1"] == t2["c2"]);

 // Explicitly attach the join to the FROM clause
 // of the selector.
 aSelector.from( join );

Constructor & Destructor Documentation

RWDBJoinExpr::RWDBJoinExpr (  ) 

The default constructor is provided for convenience. Typically, RWDBJoinExpr instances are obtained through outer join global functions.

RWDBJoinExpr::RWDBJoinExpr ( const RWDBJoinExpr jexpr  ) 

Copy constructor. The created RWDBJoinExpr shares an implementation with jexpr.


Member Function Documentation

RWDBJoinExpr& RWDBJoinExpr::on ( const RWDBColumn column  ) 

Adds the column to self's SQL USING clause, which specifies the join columns for the join. Returns a reference to self.

RWDBJoinExpr& RWDBJoinExpr::on ( const RWDBCriterion criterion  ) 

Specifies the join condition as self's SQL ON clause. If self already has an ON clause, this method replaces it. Returns a reference to self.

RWDBJoinExpr& RWDBJoinExpr::operator= ( const RWDBJoinExpr jexpr  ) 

Assignment operator. Self shares an implementation with jexpr. Returns a reference to self.


Friends And Related Function Documentation

RWDBJoinExpr rwdbInner ( const RWDBJoinExpr ,
const RWDBJoinExpr  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the INNER JOIN SQL phrase between two inner join expressions. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbInner ( const RWDBJoinExpr jexpr,
const RWDBTable table 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the INNER JOIN SQL phrase between an inner join expression and a table. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbInner ( const RWDBTable table,
const RWDBJoinExpr jexpr 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the INNER JOIN SQL phrase between a table and an inner join expression. For databases that support precedence in inner joins, the generated SQL adds precedence to jexpr, such that jexpr is evaluated first before the table is joined.

RWDBJoinExpr rwdbInner ( const RWDBTable ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the INNER JOIN SQL phrase between two tables.

RWDBJoinExpr rwdbLeftOuter ( const RWDBJoinExpr ,
const RWDBJoinExpr  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the LEFT OUTER JOIN SQL phrase between two outer join expressions. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbLeftOuter ( const RWDBJoinExpr ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the LEFT OUTER JOIN SQL phrase between an outer join expression and a table. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbLeftOuter ( const RWDBTable table,
const RWDBJoinExpr jexpr 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the LEFT OUTER JOIN SQL phrase between a table and an outer join expression. For databases that support precedence in outer joins, the generated SQL adds precedence to jexpr such that jexpr is evaluated first before the table is joined.

RWDBJoinExpr rwdbLeftOuter ( const RWDBTable ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the LEFT OUTER JOIN SQL phrase between two tables.

RWDBJoinExpr rwdbNaturalLeftOuter ( const RWDBJoinExpr ,
const RWDBJoinExpr  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL LEFT OUTER JOIN SQL phrase between two outer join expressions. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbNaturalLeftOuter ( const RWDBJoinExpr ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL LEFT OUTER JOIN SQL phrase between an outer join expression and a table. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbNaturalLeftOuter ( const RWDBTable table,
const RWDBJoinExpr jexpr 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL LEFT OUTER JOIN SQL phrase between a table and an outer join expression. For databases that support precedence in outer joins, the generated SQL adds precedence to jexpr, such that jexpr is evaluated first before the table is joined.

RWDBJoinExpr rwdbNaturalLeftOuter ( const RWDBTable ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL LEFT OUTER JOIN SQL phrase between two tables.

RWDBJoinExpr rwdbNaturalOuter ( const RWDBJoinExpr ,
const RWDBJoinExpr  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL FULL OUTER JOIN SQL phrase between two outer join expressions. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbNaturalOuter ( const RWDBJoinExpr ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL FULL OUTER JOIN SQL phrase between an outer join expression and a table. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbNaturalOuter ( const RWDBTable table,
const RWDBJoinExpr jexpr 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL FULL OUTER JOIN SQL phrase between a table and an outer join expression. For databases that support precedence in outer joins, the generated SQL adds precedence to jexpr, such that jexpr is evaluated first before the table is joined.

RWDBJoinExpr rwdbNaturalOuter ( const RWDBTable ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL FULL OUTER JOIN SQL phrase between two tables.

RWDBJoinExpr rwdbNaturalRightOuter ( const RWDBJoinExpr ,
const RWDBJoinExpr  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL RIGHT OUTER JOIN SQL phrase between two outer join expressions. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbNaturalRightOuter ( const RWDBJoinExpr ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL RIGHT OUTER JOIN SQL phrase between an outer join expression and a table. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbNaturalRightOuter ( const RWDBTable table,
const RWDBJoinExpr jexpr 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL RIGHT OUTER JOIN SQL phrase between a table and an outer join expression. For databases that support precedence in outer joins, the generated SQL adds precedence to jexpr, such that jexpr is evaluated first before the table is joined.

RWDBJoinExpr rwdbNaturalRightOuter ( const RWDBTable ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL RIGHT OUTER JOIN SQL phrase between two tables.

RWDBJoinExpr rwdbOuter ( const RWDBJoinExpr ,
const RWDBJoinExpr  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the FULL OUTER JOIN SQL phrase between two outer join expressions. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbOuter ( const RWDBJoinExpr jexpr,
const RWDBTable table 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the FULL OUTER JOIN SQL phrase between an outer join expression and a table. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbOuter ( const RWDBTable table,
const RWDBJoinExpr jexpr 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the FULL OUTER JOIN SQL phrase between a table and an outer join expression. For databases that support precedence in outer joins, the generated SQL adds precedence to jexpr, such that jexpr is evaluated first before the table is joined.

RWDBJoinExpr rwdbOuter ( const RWDBTable ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the FULL OUTER JOIN SQL phrase between two tables.

RWDBJoinExpr rwdbRightOuter ( const RWDBJoinExpr ,
const RWDBJoinExpr  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the RIGHT OUTER JOIN SQL phrase between two outer join expressions. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbRightOuter ( const RWDBJoinExpr ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the RIGHT OUTER JOIN SQL phrase between an outer join expression and a table. This does not add any precedence to the constructs.

RWDBJoinExpr rwdbRightOuter ( const RWDBTable table,
const RWDBJoinExpr jexpr 
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the RIGHT OUTER JOIN SQL phrase between a table and an outer join expression. For databases that support precedence in outer joins, the generated SQL adds precedence to jexpr, such that jexpr is evaluated first before the table is joined.

RWDBJoinExpr rwdbRightOuter ( const RWDBTable ,
const RWDBTable  
) [related]

Returns an RWDBJoinExpr that represents an encapsulation of the RIGHT OUTER JOIN SQL phrase between two tables.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.