Module: DB Interface Module Group: Expression Classes
RWDBJoinExpr RWDBExpr
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.