Progress
SQL-92
Guide and Reference


QUERY EXPRESSION

SYNTAX
query_expression ::=
query_specification
  |  query_expression set_operator query_expression
  |  ( query_expression ) 

SET OPERATOR

SYNTAX
set_operator ::=
{ UNION [ ALL ] | INTERSECT | MINUS } 

QUERY SPECIFICATION

SYNTAX
query_specification ::=
SELECT [ ALL | DISTINCT ]
  { *
     | { table_name.| alias.}* [, { table_name.| alias.}* ]  ,...
     | expr [ [ AS ] []column_title[] ]
        [, expr [ [ AS ] []column_title[] ] ] ,...
  }
FROM table_ref [, table_ref ] ...
[ WHERE search_condition ]
[ GROUP BY [ table.]column_name 
  [, [ table.]column_name ] ,...
[ HAVING search_condition ]
; 

TABLE REFERENCE

SYNTAX
table_ref ::=
table_name [ AS ] [ alias [ (column_alias [, ... ] ) ] ] 
  | (query_expression) [ AS ] alias [ (column_alias [ ,... ] ) ] 
  | [ ( ] joined_table [ ) ] 

JOINED TABLE

SYNTAX
joined_table ::=
{ table_ref CROSS JOIN table_ref
  |table_ref [ INNER | LEFT [ OUTER ] ] JOIN
    table_ref ON search_condition
} 

FROM CLAUSE INNER JOIN

SYNTAX
from_clause_inner_join ::=
{ FROM table_ref CROSS JOIN table_ref
  | FROM table_ref [ INNER ] JOIN table_ref 
    ON search_condition
} 

WHERE CLAUSE INNER JOIN

SYNTAX
where_clause_inner_join ::=
FROM table_ref, table_ref WHERE search_condition 

FROM CLAUSE OUTER JOIN

SYNTAX
from_clause_outer_join ::=
FROM table_ref LEFT OUTER JOIN table_ref
  ON search_condition 

WHERE CLAUSE OUTER JOIN

SYNTAX
where_clause_outer_join ::=
WHERE [ table_name.]column (+) = [ table_name.]column
  | WHERE [ table_name.]column = [ table_name.]column (+) 


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095