Difference between revisions of "SQL Syntax"
From AgileApps Support Wiki
imported>Aeric |
imported>Aeric |
||
Line 9: | Line 9: | ||
==SELECT Statement== | ==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: | 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: | ||
<div style="font-family:monospace; font-size:larger"> | |||
:SELECT | :SELECT | ||
::[ DISTINCT ] | ::[ DISTINCT ] | ||
Line 14: | Line 15: | ||
::FROM [[#table_reference|table_reference]] | ::FROM [[#table_reference|table_reference]] | ||
:::[ WHERE [[#where_clause|where_clause]] ] | :::[ WHERE [[#where_clause|where_clause]] ] | ||
:::[ GROUP BY [[#group_by_clause|group_by_clause]] [ HAVING [[#query|query]] [ {AND|OR} [[#query|query]] ... ] ] ] | :::[ GROUP BY [[#group_by_clause|group_by_clause]] [ HAVING [[#query|query]] [ {AND|OR} [[#query|query]] ... ] ] ] | ||
:::[ ORDER BY [[#order_by_clause|order_by_clause]] ] | :::[ ORDER BY [[#order_by_clause|order_by_clause]] ] | ||
:::[ LIMIT [[#limit_clause|limit_clause]] ] | :::[ LIMIT [[#limit_clause|limit_clause]] ] | ||
</div> | |||
where: | where: | ||
:;DISTINCT:Eliminates duplicate rows from the result set. | :;DISTINCT:Eliminates duplicate rows from the result set. | ||
Line 25: | Line 26: | ||
''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] | ||
===column_expr=== | ===column_expr=== | ||
<div style="font-family:monospace; font-size:larger"> | |||
: * | ''table_alias''.* | ''column_name'' [ [AS] ''column_alias'' ] | [[#expr|expr]] [AS] ''column_alias'' | : * | ''table_alias''.* | ''column_name'' [ [AS] ''column_alias'' ] | [[#expr|expr]] [AS] ''column_alias'' | ||
</div> | |||
where: | where: | ||
:;''column_alias'': Displays as the column name in the result set, in the [[SQL Browser]].<br>Can be used as a field name in a [[#group_by_clause|group_by_clause]] or [[#order_by_clause|order_by_clause]]. | :;''column_alias'': Displays as the column name in the result set, in the [[SQL Browser]].<br>Can be used as a field name in a [[#group_by_clause|group_by_clause]] or [[#order_by_clause|order_by_clause]]. | ||
Line 34: | Line 36: | ||
===expr=== | ===expr=== | ||
<div style="font-family:monospace; font-size:larger"> | |||
::[[SQL Functions|SQL Function]] | ::[[SQL Functions|SQL Function]] | ||
: | stuff... | : | stuff... | ||
</div> | |||
===table_reference=== | ===table_reference=== | ||
===where_clause=== | ===where_clause=== | ||
<div style="font-family:monospace; font-size:larger"> | |||
:WHERE [[#query|query]] [ {AND|OR} [[#query|query]] ... ] | :WHERE [[#query|query]] [ {AND|OR} [[#query|query]] ... ] | ||
</div> | |||
===query=== | ===query=== | ||
===group_by_clause=== | ===group_by_clause=== | ||
:GROUP BY ''column_name'' [ASC | DESC] [ , ''column_name'' [ASC | DESC] ... ] [ WITH ROLLUP ] | <div style="font-family:monospace; font-size:larger"> | ||
:GROUP BY ''column_name'' [ASC | DESC] [ , ''column_name'' [ASC | DESC] ... ] [ WITH ROLLUP ] | |||
</div> | |||
where: | where: | ||
:;''ASC'': Ascending (the default). | :;''ASC'': Ascending (the default). | ||
Line 52: | Line 58: | ||
===order_by_clause=== | ===order_by_clause=== | ||
:ORDER BY ''column_name'' [ASC | DESC] [ , ''column_name'' [ASC | DESC] ... ] | <div style="font-family:monospace; font-size:larger"> | ||
:ORDER BY ''column_name'' [ASC | DESC] [ , ''column_name'' [ASC | DESC] ... ] | |||
</div> | |||
where: | where: | ||
:;''ASC'': Ascending (the default). | :;''ASC'': Ascending (the default). | ||
Line 58: | Line 66: | ||
===limit_clause=== | ===limit_clause=== | ||
<div style="font-family:monospace; font-size:larger"> | |||
: ''maximum_rows'' | ''offset, maximum_rows'' | : ''maximum_rows'' | ''offset, maximum_rows'' | ||
</div> | |||
where: | where: | ||
:;''maximum_rows'': Maximum number of rows to return. | :;''maximum_rows'': Maximum number of rows to return. | ||
:;''offset'': The row to start from. Offset for the first row is zero (0). | :;''offset'': The row to start from. Offset for the first row is zero (0). |
Revision as of 00:40, 15 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_clause ]
- [ GROUP BY group_by_clause [ HAVING query [ {AND|OR} query ... ] ] ]
- [ ORDER BY order_by_clause ]
- [ LIMIT limit_clause ]
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.)
Learn more:: MySQL Select Statement syntax
column_expr
- * | table_alias.* | column_name [ [AS] column_alias ] | expr [AS] column_alias
where:
- column_alias
- Displays as the column name in the result set, in the SQL Browser.
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_clause
query
group_by_clause
- GROUP BY column_name [ASC | DESC] [ , column_name [ASC | DESC] ... ] [ WITH ROLLUP ]
where:
- ASC
- Ascending (the default).
- DESC
- Descending.
order_by_clause
- ORDER BY column_name [ASC | DESC] [ , column_name [ASC | DESC] ... ]
where:
- ASC
- Ascending (the default).
- DESC
- Descending.
limit_clause
- maximum_rows | offset, maximum_rows
where:
- maximum_rows
- Maximum number of rows to return.
- offset
- The row to start from. Offset for the first row is zero (0).