# TableExpression

A TableExpression specifies a table or view in a FROM clause. It is the source from which a SelectExpression selects a result.

A correlation name can be applied to a table in a TableExpression so that its columns can be qualified with that name. If you do not supply a correlation name, the table name qualifies the column name. When you give a table a correlation name, you cannot use the table name to qualify columns. You must use the correlation name when qualifying column names.

No two items in the FROM clause can have the same correlation name, and no correlation name can be the same as an unqualified table name specified in that FROM clause.

In addition, you can give the columns of the table new names in the AS clause. Some situations in which this is useful:

- When a VALUES expression is used as a TableSubquery, since there is no other way to name the columns of a VALUES expression.
- When column names would otherwise be the same as those of columns in other tables; renaming them means you don't have to qualify them.

The Query in a TableSubquery appearing in a FromItem can contain multiple columns and return multiple rows. See TableSubquery.

For information about the optimizer overrides you can specify, see Tuning Java DB.

#### Syntax

    {
    TableOrViewExpression | JOIN operation
    }

#### Example

    -- SELECT from a Join expression
    SELECT E.EMPNO, E.LASTNAME, M.EMPNO, M.LASTNAME
     FROM EMPLOYEE E LEFT OUTER JOIN
       	DEPARTMENT INNER JOIN EMPLOYEE M
      ON MGRNO = M.EMPNO
      ON E.WORKDEPT = DEPTNO

- TableOrViewExpression

Parent topic: Statements
Related concepts
Interaction with the dependency system
CREATE statements
DROP Statements
RENAME statements
SET statements
Related reference
ALTER TABLE statement
GRANT statement
REVOKE statement
CALL (PROCEDURE)
CONSTRAINT clause
DECLARE GLOBAL TEMPORARY TABLE statement
DELETE statement
FOR UPDATE clause
FROM clause
GROUP BY clause
HAVING clause
INNER JOIN
INSERT statement
JOIN operation
LEFT OUTER JOIN
LOCK TABLE statement
ORDER BY clause
Query
RIGHT OUTER JOIN
ScalarSubquery
SelectExpression
SELECT statement
TableSubquery
UPDATE statement
VALUES expression
WHERE clause
WHERE CURRENT OF clause