Updated on 2024-07-30 GMT+08:00

SELECT

SELECT is generally used to query data in one or more tables.

Common Syntax

SELECT
[ALL | DISTINCT | DISTINCTROW ]
select_expr
[, select_expr ...]
[FROM table_references [WHERE where_condition]
[GROUP BY {col_name | expr | position} [ASC | DESC], ...]
[HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
Table 1 Supported syntax

Syntax

Description

select_expr

Indicates a column that you want to query.

FROM table_references

Indicates the table or tables that you want to query.

WHERE

Followed by an expression to filter for rows that meet certain criteria.

GROUP BY

Groups the clauses used in SQL in sequence. GROUP BY indicates relationships between statements and supports column names. For example, the HAVING clause must be after the GROUP BY clause and before the ORDER BY clause.

ORDER BY

Indicates relationships between statements. Sorting by column name or by a specified order such as ASC and DESC is supported.

LIMIT/OFFSET

Restrains the offset and size of output result sets, for example, one or two values can be input after LIMIT.

Syntax Description

  • An empty string cannot be used as an alias.
  • The SELECT... GROUP BY... WITH ROLLUP QUERY statement is not supported. (When the queried table is a sharded table, you cannot obtain the expected result)
  • Neither STRAIGHT_JOIN nor NATURAL JOIN is supported.
  • The SELECT FOR UPDATE statement supports only simple queries and does not support JOIN, GROUP BY, ORDER BY, or LIMIT.
  • The field sequence after the SELECT statement must be the same as that in the table column. All JOIN fields can be added to the field list after SELECT to improve the SELECT query efficiency.
  • DDM does not support multiple columns with the same name for each SELECT statement in UNION. For example, duplicate column names are used in the following SELECT statement:
    SELECT id, id, name FROM t1 UNION SELECT pk, pk, name FROM t2;