
Module: DB Interface Module Group: Expression Classes
RWDBJoinExprRWDBExpr
|
rwdbInner() rwdbLeftOuter() |
rwdbNaturalLeftOuter() rwdbNaturalOuter() |
rwdbNaturalRightOuter() rwdbOuter() |
rwdbRightOuter() |
#include <rw/db/expr.h>
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.
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 );
RWDBJoinExpr is a special case of RWDBExpr. See RWDBExpr for more details. Also see RWDBColumn.
RWDBJoinExpr();
The default constructor is provided for convenience. Typically, RWDBJoinExpr instances are obtained through outer join global functions.
RWDBJoinExpr(const RWDBJoinExpr& jexpr);
Copy constructor. The created RWDBJoinExpr shares an implementation with jexpr.
RWDBJoinExpr(const RWDBExpr& expr1, const RWDBExpr& expr2,
RWDBPhraseBook::RWDBPhraseKey op,
RWDBPhraseBook::RWDBPhraseKey precdBegin =
RWDBPhraseBook::singleSpace,
RWDBPhraseBook::RWDBPhraseKey precdEnd =
RWDBPhraseBook::singleSpace);
Constructs an RWDBJoinExpr from two expressions. The constructed RWDBJoinExpr represents an encapsulation of the SQL phrase:
'expr1' op 'expr2'.
RWDBJoinExpr& operator=(const RWDBJoinExpr& jexpr);
Assignment operator. Self shares an implementation with jexpr. Returns a reference to self.
RWCString
asString(const RWDBPhraseBook&,
AsStringControlFlag = normal) const;
Inherited from RWDBExpr. Returns an RWCString representing self as a join string based on the format found in phraseBook. Returns the SQL equivalent of:
<expr1><join-type><expr2> ON <on-clause>
USING <using-list>
Normally, the references to columns in self are represented in the string with table tags attached. Setting the value of control with RWDBExpr::suppressTagsOnColumns prevents the tags from being included in the string.
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& 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 rwdbInner(const RWDBTable& table1, const RWDBTable& table2);
Returns an RWDBJoinExpr that represents an encapsulation of the INNER JOIN SQL phrase between two tables.
RWDBJoinExpr
rwdbInner(const RWDBTable& table,
const RWDBJoinExpr& jexpr);
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 RWDBJoinExpr& jexpr,
const RWDBTable& table);
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 RWDBJoinExpr& jexpr1,
const RWDBJoinExpr& jexpr2);
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
rwdbLeftOuter(const RWDBTable& table1,
const RWDBTable& table2);
Returns an RWDBJoinExpr that represents an encapsulation of the LEFT OUTER JOIN SQL phrase between two tables.
RWDBJoinExpr
rwdbLeftOuter(const RWDBTable& table,
const RWDBJoinExpr& jexpr);
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 RWDBJoinExpr& jexpr,
const RWDBTable& table);
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 RWDBJoinExpr& jexpr1,
const RWDBJoinExpr& jexpr2);
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
rwdbRightOuter(const RWDBTable& table1,
const RWDBTable& table2);
Returns an RWDBJoinExpr that represents an encapsulation of the RIGHT OUTER JOIN SQL phrase between two tables.
RWDBJoinExpr
rwdbRightOuter(const RWDBTable& table,
const RWDBJoinExpr& jexpr);
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 RWDBJoinExpr& jexpr,
const RWDBTable& table);
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 RWDBJoinExpr& jexpr1,
const RWDBJoinExpr& jexpr2);
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 rwdbOuter(const RWDBTable& table1, const RWDBTable& table2);
Returns an RWDBJoinExpr that represents an encapsulation of the FULL OUTER JOIN SQL phrase between two tables.
RWDBJoinExpr
rwdbOuter(const RWDBTable& table,
const RWDBJoinExpr& jexpr);
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 RWDBJoinExpr& jexpr,
const RWDBTable& table);
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 RWDBJoinExpr& jexpr1,
const RWDBJoinExpr& jexpr2);
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
rwdbNaturalLeftOuter(const RWDBTable& table1,
const RWDBTable& table2);
Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL LEFT OUTER JOIN SQL phrase between two tables.
RWDBJoinExpr
rwdbNaturalLeftOuter(const RWDBTable& table,
const RWDBJoinExpr& jexpr);
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 RWDBJoinExpr& jexpr,
const RWDBTable& table);
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 RWDBJoinExpr& jexpr1,
const RWDBJoinExpr& jexpr2);
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
rwdbNaturalRightOuter(const RWDBTable& table1,
const RWDBTable& table2);
Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL RIGHT OUTER JOIN SQL phrase between two tables.
RWDBJoinExpr
rwdbNaturalRightOuter(const RWDBTable& table,
const RWDBJoinExpr& jexpr);
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 RWDBJoinExpr& jexpr,
const RWDBTable& table);
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 RWDBJoinExpr& jexpr1,
const RWDBJoinExpr& jexpr2);
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
rwdbNaturalOuter(const RWDBTable& table1,
const RWDBTable& table2);
Returns an RWDBJoinExpr that represents an encapsulation of the NATURAL FULL OUTER JOIN SQL phrase between two tables.
RWDBJoinExpr
rwdbNaturalOuter(const RWDBTable& table,
const RWDBJoinExpr& jexpr);
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
rwdbNaturalOuter(const RWDBJoinExpr& jexpr,
const RWDBTable& table);
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 RWDBJoinExpr& jexpr1,
const RWDBJoinExpr& jexpr2);
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.
© 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.