|
SQL Syntax Table |
The PxPlus SQL ODBC Driver supports the SQL syntax described in the table below. For an illustration of this syntax, see Constructing a Left Outer Join Using the Syntax Table.
In the following table, SQL keywords are shown in uppercase, the vertical bars (pipes) "|" separate choices where more than one command is represented, and a blank indicates that no qualifier is required.
|
Syntax |
Description |
|
statement |
SELECT select orderby | INSERT insert | DELETE delete | UPDATE update |
|
top |
blank | TOP integer |
|
select |
top selectcols FROM tablelist where groupby having limit hint union |
|
insert |
INTO tablename insertvals |
|
delete |
FROM tablename where |
|
update |
tablename SET setlist where |
|
setlist |
set | setlist, set |
|
set |
columnname = NULL | columnname = expression |
|
insertvals |
(columnlist) VALUES (valuelist) | VALUES (valuelist) | |
|
columnlist |
columnname, columnlist | columnname |
|
valuelist |
NULL, valuelist | expression, valuelist | expression | NULL |
|
selectcols |
selectallcols * | selectallcols selectlist |
|
selectallcols |
blank | ALL | DISTINCT |
|
selectlist |
selectlistitem, selectlist | selectlistitem |
|
selectlistitem |
expression | expression aliasname | expression AS aliasname | aliasname.* | colref |
|
where |
blank | WHERE boolean |
|
having |
blank | HAVING boolean |
|
limit |
blank | LIMIT integer limitoffset |
|
limitoffset |
blank | OFFSET integer |
|
blank | UNION select | UNION ALL select | |
|
boolean |
and | and OR boolean |
|
and |
not | not AND and |
|
not |
comparison | NOT comparison |
|
comparison |
(boolean) | colref IS NULL | colref IS NOT NULL | |
|
selectop |
blank | ALL | ANY |
|
op |
> | >= | < | <= | = | <> |
|
pattern |
string | ? | USER |
|
expression |
expression + times | expression - times | times |
|
times |
times * neg | times / neg | neg |
|
neg |
term | + term | - term |
|
term |
(expression) | colref | simpleterm | aggterm | scalar | case |
|
case |
CASE when else END |
|
when |
expression simplewhen | searchedwhen |
|
simplewhen |
WHEN expression THEN expression | simplewhen simplewhen |
|
searchedwhen |
WHEN boolean THEN expression | searchedwhen searchedwhen |
|
else |
blank | ELSE expression |
|
scalar |
scalarshorthand | fn |
|
scalarshorthand |
{FN fn} |
|
fn |
functionname (valuelist) | functionname( ) |
|
aggterm |
COUNT ( * ) | AVG (expression) | MAX (expression) | |
|
simpleterm |
string | realnumber | ? | USER | date |
|
groupby |
blank | GROUP BY groupbyterms |
|
groupbyterms |
colref | colref, groupbyterms |
|
orderby |
blank | ORDER BY orderbyterms |
|
orderbyterms |
orderbyterm | orderbyterm, orderbyterms |
|
orderbyterm |
colref asc | integer asc |
|
asc |
blank | ASC | DESC |
|
hint |
blank | HINT KEY integer |
|
colref |
aliasname.columnname | columnname |
|
tablelist |
tablelistitem crossjointerm tablelist | tablelistitem |
|
crossjointerm |
, | CROSS JOIN |
|
tablelistitem |
tableref | outerjoin |
|
outerjoin |
ojshorthand | oj |
|
ojshorthand |
{OJ oj} |
|
inneroj |
tableref innerojterm tableref ON boolean | |
|
innerojterm |
INNER JOIN | JOIN |
|
oj |
tableref ojterm tableref ON boolean | |
|
ojterm |
LEFT OUTER JOIN | LEFT JOIN | (Support for FULL OUTER JOIN | FULL JOIN was added in PxPlus 2018.) |
|
tableref |
tablename | tablename aliasname |
|
indexname |
identifier |
|
functionname |
identifier (see Scalar Functions) |
|
tablename |
identifier | qualifier.identifier |
|
qualifier |
identifier (The qualifier is ignored. The PxPlus SQL ODBC Driver does not support a data dictionary directory other than the one specified in the DSN or connection string.) (Support for qualifier was added in PxPlus 2017.) |
|
datatype |
identifier |
|
columnname |
identifier |
|
aliasname |
identifier |
|
identifier |
An identifier (must be enclosed in double quotes if it contains spaces) |
|
string |
A string (enclosed in single quotes) |
|
realnumber |
A non-negative real number (including E notation) |
|
integer |
A non-negative integer |
|
date |
dateshorthand | dateval |
|
dateshorthand |
{d dateval} |
|
dateval |
Date in yyyy-mm-dd format in single quotes (e.g. '1996-02-05') |
The PxPlus SQL ODBC Driver also allows comments within SQL queries. Both block and line comments are supported. (added in PxPlus 2016)
|
Block Comment: |
/* This is a comment */ |
|
Line Comment: |
-- This is also a comment |
Example:
/* This is an example SQL query with comments */
SELECT * --Get all rows
FROM 'Customer' --List all customers