以下为课本知识:
定义:
数据查询是指的将数据库中存储的数据根据用户的需求检索出来。
SELECT [ALL | DISTINECT] <列表达式>[,....n]
FROM <表名 | 视图名>
[WHERE <查询条件表达式>
[GROUP BY <列名> [HAVING <条件表达式>]
[ORDER BY <列名> [ASC | DESC]];
语义:
根据WHERE 字句的查询表达式,从FROM 字句所制定的基本表或试图中找出满足查询条件的元组,在按照SELECT 字句中的目标列形成结果表。
如果有GROUP BY 子句,则按照GROUP BY所指定的列名的值进行分组,相同属性的值为一组,> 如果GROUP BY 有HAVING字句,则只输出满足条件的组。
如果有ORDER BY 字句,则结果集还需要按照ORDER BY 指定的列进行升序或者降序。
注意事项
- WHERE 子句不能用聚集函数做表达式,COUNT(*)除外
- 聚集函数都会跳过NULL
- 对查询结果分组是为了细化聚集函数的作用对象
- 如果没有对查询结果分组,则聚集函数将作用于整个查询结果
- 如果分组后,还需要对结果进行筛选,则用HAVING子句