Skip to content
Railroad / syntax diagram templates

Railroad — SQL SELECT

The reading path of a SELECT statement: columns, FROM, joins, WHERE, GROUP BY, ORDER BY.

Template previewRailroad / syntax diagram
select ::=SELECTDISTINCTcolumnsFROMtablejoinwheregroupbyorderbycolumns ::=*column,columnjoin ::=JOINLEFT JOINtableONconditionwhere ::=WHEREconditionANDORconditiongroupby ::=GROUP BYcolumn,columnorderby ::=ORDER BYcolumnASCDESC

Make it your own.

select  ::= "SELECT" [ "DISTINCT" ] columns "FROM" table { join } [ where ] [ groupby ] [ orderby ]
columns ::= "*" | column { "," column }
join    ::= ( "JOIN" | "LEFT JOIN" ) table "ON" condition
where   ::= "WHERE" condition { ( "AND" | "OR" ) condition }
groupby ::= "GROUP BY" column { "," column }
orderby ::= "ORDER BY" column [ "ASC" | "DESC" ]