SELECT select_expr [,select_expr...]
[
FROM table_reference
[WHERE where_condition]
[GROUP BY {col_name|position} [ASC|DESC],...]
[HAVING where_condition]
[ORDER BY {col_name|expr|position} [ASC|DESC],...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
];
1、查询表达式字段的顺序将影响结果的顺序;
2、*表示所有的列,table_name.*可以表示命名表的所有列;
3、查询表达式可以使用AS为列赋予别名;
3、GROUP BY表示对查询结果分组,默认为ASC升序;
4、HAVING语句指定分组条件,可以对全部记录分组,也可以对部分记录分组;
5、条件语句中的字段,可以放到聚合函数中使用,否则必须首先在SELECT后指定;
6、ORDER BY对查询结果进行排序,可以同时对多个字段排序
7、LIMIT限制查询返回的数量,第一个数字表示开始查询的记录索引,第二个数字表示返回的数量,若只有一个数字,表示从第一条开始查询,数字表示返回记录的数量。
例如
SELECT id,username FROM users;
SELECT users.id,users.username FROM users;
SELECT username AS uname FROM users;
SELECT sex,age FROM users GROUP BY sex HAVING age>18;
SELECT sex FROM users GROUP BY sex HAVING count(id)>2;
SELECT * FROM users ORDER BY age,id DESC;
SELECT * FROM users LIMIT 1,2;