Package com.exasol.sql.dql.select
Class FromClause
- java.lang.Object
-
- com.exasol.sql.AbstractFragment
-
- com.exasol.sql.dql.select.FromClause
-
- All Implemented Interfaces:
SelectFragment
,Fragment
public class FromClause extends AbstractFragment implements SelectFragment
This class represents theFROM
clause of an SQLSELECT
statement.
-
-
Field Summary
-
Fields inherited from class com.exasol.sql.AbstractFragment
root
-
-
Constructor Summary
Constructors Constructor Description FromClause(Fragment root)
Create a new instance of aFromClause
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(SelectVisitor visitor)
Accept a visitor (e.g.FromClause
fullJoin(String name, String specification)
Create a new fullJoin
that belongs to aFROM
clause.FromClause
fullOuterJoin(String name, String specification)
Create a new full outerJoin
that belongs to aFROM
clause.boolean
hasSubSelect()
Check if theFromClause
contains a sub-select statement.FromClause
innerJoin(String name, String specification)
Create a new innerJoin
that belongs to aFROM
clause.FromClause
join(String name, String specification)
Create a newJoin
that belongs to aFROM
clause.FromClause
leftJoin(String name, String specification)
Create a new leftJoin
that belongs to aFROM
clause.FromClause
leftOuterJoin(String name, String specification)
Create a new left outerJoin
that belongs to aFROM
clause.FromClause
rightJoin(String name, String specification)
Create a new rightJoin
that belongs to aFROM
clause.FromClause
rightOuterJoin(String name, String specification)
Create a new right outerJoin
that belongs to aFROM
clause.FromClause
select(Select select)
Add a select to theFromClause
.FromClause
table(String name)
Add a table name to theFromClause
.FromClause
tableAs(String name, String as)
Add a table name with an alias to theFromClause
.FromClause
valueTable(ValueTable valueTable)
Create aFromClause
from a value table.FromClause
valueTableAs(ValueTable valueTable, String tableNameAlias, String... columnNameAliases)
Create aFromClause
from a value table and an alias.-
Methods inherited from class com.exasol.sql.AbstractFragment
getRoot
-
-
-
-
Constructor Detail
-
FromClause
public FromClause(Fragment root)
Create a new instance of aFromClause
.- Parameters:
root
- root SQL statement thisFROM
clause belongs to
-
-
Method Detail
-
table
public FromClause table(String name)
Add a table name to theFromClause
.- Parameters:
name
- table name- Returns:
FROM
clause
-
tableAs
public FromClause tableAs(String name, String as)
Add a table name with an alias to theFromClause
.- Parameters:
name
- table nameas
- table alias- Returns:
- parent
FROM
clause
-
valueTable
public FromClause valueTable(ValueTable valueTable)
Create aFromClause
from a value table.- Parameters:
valueTable
- table of value expressions- Returns:
- parent
FROM
clause
-
valueTableAs
public FromClause valueTableAs(ValueTable valueTable, String tableNameAlias, String... columnNameAliases)
Create aFromClause
from a value table and an alias.- Parameters:
valueTable
- table of value expressionstableNameAlias
- table aliascolumnNameAliases
- columns aliases- Returns:
- parent
FROM
clause
-
join
public FromClause join(String name, String specification)
Create a newJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
innerJoin
public FromClause innerJoin(String name, String specification)
Create a new innerJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
leftJoin
public FromClause leftJoin(String name, String specification)
Create a new leftJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
rightJoin
public FromClause rightJoin(String name, String specification)
Create a new rightJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
fullJoin
public FromClause fullJoin(String name, String specification)
Create a new fullJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
leftOuterJoin
public FromClause leftOuterJoin(String name, String specification)
Create a new left outerJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
rightOuterJoin
public FromClause rightOuterJoin(String name, String specification)
Create a new right outerJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
fullOuterJoin
public FromClause fullOuterJoin(String name, String specification)
Create a new full outerJoin
that belongs to aFROM
clause.- Parameters:
name
- name of the table to be joinedspecification
- join conditions- Returns:
- parent
FROM
clause
-
select
public FromClause select(Select select)
Add a select to theFromClause
.- Parameters:
select
-SELECT
statement- Returns:
FROM
clause
-
hasSubSelect
public boolean hasSubSelect()
Check if theFromClause
contains a sub-select statement.- Returns:
- true if the
FromClause
contains a sub-select statement
-
accept
public void accept(SelectVisitor visitor)
Description copied from interface:SelectFragment
Accept a visitor (e.g. a renderer or validator)- Specified by:
accept
in interfaceSelectFragment
- Parameters:
visitor
- visitor to accept
-
-