## org.eclipse.datatools.modelbase.sql.query
Interface TableQueryLateral

All Superinterfaces:
  org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.ENamedElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier, SQLObject, SQLQueryObject, TableExpression, TableReference

    public interface TableQueryLateral

extends TableExpression

A representation of the model object 'Table Query Lateral'. A "lateral" table query is a query that appears in the FROM clause. However it is semantically different from a regular FROM clause query in that the lateral table query can itself contain references to other tables defined before (that is, to the left of it) in the same FROM clause. Regular FROM clause queries can only refer to tables defined at a higher level in the statement. In ISO SQL a lateral table query expression is prefixed by the keyword LATERAL. (The DB2 SQL dialects prefix the lateral query table with the keyword TABLE.) For example, here is a statement containing a lateral table query expression: SELECT d.dept_name, e.emp_name FROM dept d, LATERAL( SELECT emp_id, emp_name FROM emp WHERE emp_dept = d.dept_id ) as e The reference to d.dept_id is legal in a lateral table query, but would not be legal in a regular table query expression.

The following features are supported:

- `Query`

See Also:
  `SQLQueryModelPackage.getTableQueryLateral()`

Method Summary
`QueryExpressionBody` `getQuery()` Returns the value of the 'Query' containment reference.
`void` `setQuery(QueryExpressionBody value)` Sets the value of the '`Query`' containment reference.

Methods inherited from interface org.eclipse.datatools.modelbase.sql.query.TableExpression
`getColumnList, getMergeTargetTable, getResultTableAllColumns, getTableCorrelation, getValueExprColumns, setMergeTargetTable, setTableCorrelation`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.query.TableReference
`getMergeSourceTable, getNest, getQuerySelect, getTableJoinedLeft, getTableJoinedRight, setMergeSourceTable, setNest, setQuerySelect, setTableJoinedLeft, setTableJoinedRight`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.query.SQLQueryObject
`getSourceInfo, getSQL, setSourceInfo, setSQL`

Methods inherited from interface org.eclipse.datatools.modelbase.sql.schema.SQLObject
`addEAnnotation, addEAnnotationDetail, getComments, getDependencies, getDescription, getEAnnotation, getEAnnotationDetail, getExtensions, getLabel, getPrivileges, removeEAnnotationDetail, setAnnotationDetail, setDescription, setLabel`

Methods inherited from interface org.eclipse.emf.ecore.ENamedElement
`getName, setName`

Methods inherited from interface org.eclipse.emf.ecore.EModelElement
`getEAnnotations`

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### getQuery

    QueryExpressionBody getQuery()

  Returns the value of the 'Query' containment reference.

  If the meaning of the 'Query' containment reference isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Query' containment reference.
  See Also:
    `setQuery(QueryExpressionBody)`, `SQLQueryModelPackage.getTableQueryLateral_Query()`

### setQuery

    void setQuery(QueryExpressionBody value)

  Sets the value of the '`Query`' containment reference.

  Parameters:
    `value` - the new value of the 'Query' containment reference.
  See Also:
    `getQuery()`