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


TableView | JOIN operation


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.


-- SELECT from a Join expression
select C.CID, C.CUST_NAME, F.QTY from trade.customers C 
     LEFT  JOIN trade.portfolio F on C.cid= F.cid where F.tid = ?