Difference between revisions of "SQL Syntax"
From AgileApps Support Wiki
imported>Aeric |
imported>Aeric |
||
Line 17: | Line 17: | ||
:::[ GROUP BY ''column_name'' [ASC | DESC] [ , ''column_name'' [ASC | DESC] ... ] | :::[ GROUP BY ''column_name'' [ASC | DESC] [ , ''column_name'' [ASC | DESC] ... ] | ||
::::[WITH ROLLUP] | ::::[WITH ROLLUP] | ||
::::[HAVING [[# | ::::[HAVING [[#where_condition|where_condition]] | ||
:::[ ORDER BY [[ | :::[ ORDER BY ''column_name'' [ASC | DESC] [ , ''column_name'' [ASC | DESC] ... ] | ||
:::[ LIMIT | :::[ LIMIT {''maximum_rows'' | ''offset, maximum_rows''} ] | ||
</div> | </div> | ||
{TBD| | {{TBD| | ||
:* No expr or position in our GROUP BY. Column_name only. | :* No expr or position in our GROUP BY. Column_name only. | ||
:* No expr or position in our ORDER BY. Column_name only. | |||
}} | }} | ||
where: | where: | ||
Line 32: | Line 33: | ||
:;''ASC'': Ascending (the default). | :;''ASC'': Ascending (the default). | ||
:;''DESC'': Descending. | :;''DESC'': Descending. | ||
:;''maximum_rows'': Maximum number of rows to return. | |||
:;''offset'': The row to start from. Offset for the first row is zero (0). | |||
''Learn more:'': [http://dev.mysql.com/doc/refman/5.5/en/select.html MySQL Select Statement syntax] | ''Learn more:'': [http://dev.mysql.com/doc/refman/5.5/en/select.html MySQL Select Statement syntax] | ||
Line 66: | Line 70: | ||
where: | where: | ||
:;xxx:... | :;xxx:... | ||
Revision as of 02:45, 16 November 2011
Here is the syntax for the SQL SELECT statement that the SQL parser recognizes.
- Considerations
-
- SQL syntax is case insensitive.
- Field and table names are case sensitive
- Legend
-
- [ x ] - Optional (one or none)
- [, x ... ] - Optional additional values, in a comma-separated list
- x | y - Choose one. Curly braces are added when needed: { x | y } ...
- CAPITALIZED - SQL Keyword (case insensitive)
- italicized - Value you supply. (Table names and column names are case-sensitive)
SELECT Statement
In a select statement, you designate one more columns separated by commas (or "*" for all columns), plus a table or join to get the data from, and additional options:
- SELECT
- [ DISTINCT ]
- [ ( ] column_expr [ , column_expr ... ] [ ) ]
- FROM table_reference
- [ WHERE where_condition
- [ GROUP BY column_name [ASC | DESC] [ , column_name [ASC | DESC] ... ]
- [WITH ROLLUP]
- [HAVING where_condition
- [ ORDER BY column_name [ASC | DESC] [ , column_name [ASC | DESC] ... ]
- [ LIMIT {maximum_rows | offset, maximum_rows} ]
__TBD:
- No expr or position in our GROUP BY. Column_name only.
- No expr or position in our ORDER BY. Column_name only.
__ where:
- DISTINCT
- Eliminates duplicate rows from the result set.
- For example: DISTINCT(customer_name, address)
- HAVING
- Is only allowed as part of GROUP BY, for performance reasons. (WHERE is vastly more efficient.)
- ASC
- Ascending (the default).
- DESC
- Descending.
- maximum_rows
- Maximum number of rows to return.
- offset
- The row to start from. Offset for the first row is zero (0).
Learn more:: MySQL Select Statement syntax
column_expr
- * | table_alias.* | column_name [ [AS] column_alias ] | expr [AS] column_alias
where:
- column_alias
- Used for the column name in the result set in the SQL Browser, or for the tag name in the REST execSQL resource.
- Required when an expression is specified.
- Can be used as a field name in a group_by_clause or order_by_clause.
- For example:
- SELECT CONCAT(last_name,', ',first_name) AS full_name
- FROM Customer_Contacts ORDER BY full_name;
- SELECT CONCAT(last_name,', ',first_name) AS full_name
expr
- | stuff...
table_reference
- ...
where:
- xxx
- ...
query
- ...
where:
- xxx
- ...